2017-02-01 7 views
2

私はしかし、どのように私は負の数にこのような設定を拡張することができます画像フォーマット負の数

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)

答えて

3

あなたはこの問題を解決するために、ほぼすべての情報を提供します。 私はちょうど基本的な数学を使用する必要があります。

<記号を使用すると、範囲から値を除外することができます。 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; 
+0

です。トリックは<記号である。それがなければ-1e9 - -1e6はエラーを返します。そしてデフォルト= 9私はシンプルさのためだと思いますか? – Lovnlust

+0

オプション 'default'は、書式のデフォルトの長さを意味します。フォーマットを使用する場合、長さを指定する必要はありません。 'bmk_fmt.'。これは 'bmk_fmt9 'と同じです。 –

関連する問題