我正在尝试创建一种格式,以传达我正在使用的数据的规模感。如果数字 >= 1000,我想添加K
一个后缀,并用 '000s 表示。例如。 123456
将是123K
。
这是我到目前为止所拥有的,但显然我误解了一些基本的东西,因为输入的数字看起来不像出来的数字:
proc format;
picture abbrev
0 = '0'
0 -< 1000 = '000'
1000 - high = '0,000,000k' (mult=.0001)
;
run;
%put %sysfunc(sum(123456.0),abbrev.) /*SHOULD BE SOMETHING LIKE 123K */
%sysfunc(sum(12345.60),abbrev.) /*SHOULD BE SOMETHING LIKE 12.3K */
%sysfunc(sum(1234.560),abbrev.) /*SHOULD BE SOMETHING LIKE 1.3K */
%sysfunc(sum(123.4560),abbrev.) /*SHOULD BE SOMETHING LIKE 123 */
%sysfunc(sum(12.34560),abbrev.) /*SHOULD BE SOMETHING LIKE 12 */
%sysfunc(sum(1.234560),abbrev.) /*SHOULD BE SOMETHING LIKE 1 */
;