Verwenden Sie vformat()
function.
Wenn ich eine numerische Variable mit einem Format habe, gibt es eine Möglichkeit, den formatierten Wert als Zeichenvariable zu erhalten?
z.B. Ich möchte etwas wie das folgende schreiben, um 10/06/2009
auf den Bildschirm zu drucken, aber es gibt keine Funktion putformatted()
.
(Natürlich kann ich put(i, ddmmyy10.)
schreiben, aber mein Code muss für jedes Format funktionieren, das i
hat.)
Die Funktion VVALUE
formatiert die übergebene Variable Dazu verwenden Sie das Format, das der Variablen zugeordnet ist. Hier ist der Code mit VVALUE
:
Während cmjohns Lösung etwas schneller als dieser Code ist, ist dieser Code einfacher, da keine Makros beteiligt sind.
Verwenden Sie vformat()
function.
Das schien für ein Paar zu funktionieren, das ich ausprobiert habe. Ich benutzte VARFMT und eine Makrofunktion, um das Format der gegebenen Variable abzurufen.
%Vor%Das gab mir:
%Vor%Ich kann das mit Makrocode und %code% machen, aber es ist ein bisschen fummelig.
%Vor%Ja, es gibt eine putformatted () Funktion. Tatsächlich gibt es zwei: putc () und putn (). Putc verarbeitet Zeichenformate, putn () numerisch. Ihr Code muss sich den Namen des Formats ansehen (alle und nur die Zeichenformate beginnen mit "$"), um festzulegen, was zu verwenden ist. Hier ist die Syntax von putc (aus der interaktiven Hilfe):
%Vor%Argumente
%Vor%Wenn ich eine numerische Variable mit einem Format habe, gibt es eine Möglichkeit, den formatierten Wert als Zeichenvariable zu erhalten?
z.B. Ich möchte etwas wie das folgende schreiben, um %code% auf den Bildschirm zu drucken, aber es gibt keine Funktion %code% .
%Vor%(Natürlich kann ich %code% schreiben, aber mein Code muss für jedes Format funktionieren, das %code% hat.)
Die Funktion %code% formatiert die übergebene Variable Dazu verwenden Sie das Format, das der Variablen zugeordnet ist. Hier ist der Code mit %code% :
%Vor%Während cmjohns Lösung etwas schneller als dieser Code ist, ist dieser Code einfacher, da keine Makros beteiligt sind.
Ich kann das mit Makrocode und sashelp.vcolumn
machen, aber es ist ein bisschen fummelig.
Ja, es gibt eine putformatted () Funktion. Tatsächlich gibt es zwei: putc () und putn (). Putc verarbeitet Zeichenformate, putn () numerisch. Ihr Code muss sich den Namen des Formats ansehen (alle und nur die Zeichenformate beginnen mit "$"), um festzulegen, was zu verwenden ist. Hier ist die Syntax von putc (aus der interaktiven Hilfe):
%Vor%Argumente
%Vor%Tags und Links sas