我尝试将这个数字格式化为数十亿、数百万和数千,如下所示
proc format;
picture bmk_fmt (round)
low - 0 = '000,000,000,000)' (prefix='($')
0 - 1e3 = '000,000,000,000' (prefix='$')
1e3 - 1e6 = '000,000,000,009K' (mult=1e-3 prefix='$')
1e6 - 1e9 = '000,000,000,009.9M' (mult=1e-5 prefix='$')
1e9 - high = '000,000,000,009.9B' (mult=1e-8 prefix='$');
run;但是,如何将这样的设置扩展到负数?
例如(1.2M) & (353K)
发布于 2017-02-01 22:47:41
你提供了几乎所有的信息来解决问题。我只需要使用基本的数学。
使用<符号,您可以从一个范围中排除一个值,例如从一个负范围中排除0。
这是一个最终的解决方案。
proc format;
picture bmk_fmt (round default=9)
low - -1e9 = '009.9B)' (mult=1e-8 prefix='($')
-1e9 <- -1e6 = '009.9M)' (mult=1e-5 prefix='($')
-1e6 <- -1e3 = '009.9K)' (mult=1e-2 prefix='($')
-1e3 <-< 0 = '009.9)' (prefix='($')
0 -< 1e3 = '009.9' (prefix='$')
1e3 -< 1e6 = '009.9K' (mult=1e-2 prefix='$')
1e6 -< 1e9 = '009.9M' (mult=1e-5 prefix='$')
1e9 - high = '009.9B' (mult=1e-8 prefix='$');
run;https://stackoverflow.com/questions/41971032
复制相似问题