你格式化 1,000 到 1k

sas format 1,000 to 1k

如何使用图片格式来做到这一点?

(1234 -> 1.2k, 1735 -> 2.0k, 888 -> 0.9k, 100 -> 0.1k)

我尝试使用以下代码,但它不起作用。

proc format;
 picture InK (round)
  0 - 999 = '009.9 k' (mult=.001)
  1e3 - 9999 = '09k' (mult=.001)
  1e4 - 1e5 = '00.99k' (mult=.001);
run;

SAS 先做乘法再叠加模板。覆盖并不是真正的数学运算,它只是在最右边的两个数字之间插入一个小数点。您需要乘以 10 倍。

proc format;
 picture InK (round) low - high = '9.9k' (mult=.01);
run;

这让我很困惑,但与 SAS 一致 documentation