SAS 格式 $100,000 到 $100K
SAS format $100,000 to $100K
我需要将以 $ 为单位的大数字转换为以千美元为单位的数字(例如 $100,000 到 $100K)
我如何在 SAS 中执行此操作?
我找不到具体的格式,自定义格式的所有示例均指范围或特定值。
PROC FORMAT 必须执行以下操作:
- 以数字为输入
- 将此数字除以 1,000
- 最后加“K”
- 按照美元格式在 3 位数字之间插入逗号。
能否请您指导我如何在 SAS 中实现这一点?
图片格式完全符合您的要求。尽管与 documentation Tom/Reeza linked 相比,您的要求确实略有不同,即不要超出 K 并添加逗号。
proc format;
picture dollark
0-999.99 = "009" (prefix='$')
1e03-high = "000,000,009K" (prefix='$' mult=0.001)
;
quit;
data _null_;
do x = 100,1000,100000,10000000,10000000000000;
put x= dollark.;
end;
run;
请注意,它不适用于最后一个示例,因为它超过了图片中的最大数量 - 这是为了显示限制。如果您有更多的可能,请添加更多的 000,000,000。 (0 = 可以省略的数字,9 = 始终显示的数字。)
此外,我忽略了美分 - 这只是美元。查看文档以了解有关如何处理的更多详细信息,如果您确实 想要 美分。
我需要将以 $ 为单位的大数字转换为以千美元为单位的数字(例如 $100,000 到 $100K) 我如何在 SAS 中执行此操作?
我找不到具体的格式,自定义格式的所有示例均指范围或特定值。
PROC FORMAT 必须执行以下操作:
- 以数字为输入
- 将此数字除以 1,000
- 最后加“K”
- 按照美元格式在 3 位数字之间插入逗号。
能否请您指导我如何在 SAS 中实现这一点?
图片格式完全符合您的要求。尽管与 documentation Tom/Reeza linked 相比,您的要求确实略有不同,即不要超出 K 并添加逗号。
proc format;
picture dollark
0-999.99 = "009" (prefix='$')
1e03-high = "000,000,009K" (prefix='$' mult=0.001)
;
quit;
data _null_;
do x = 100,1000,100000,10000000,10000000000000;
put x= dollark.;
end;
run;
请注意,它不适用于最后一个示例,因为它超过了图片中的最大数量 - 这是为了显示限制。如果您有更多的可能,请添加更多的 000,000,000。 (0 = 可以省略的数字,9 = 始终显示的数字。)
此外,我忽略了美分 - 这只是美元。查看文档以了解有关如何处理的更多详细信息,如果您确实 想要 美分。