bugfix> powershell > 投稿

小数点以下2桁のみを切り上げずに選択したい。

$d = 123000.1264
'{0:f2}' -f $d

結果: 123000,13 、しかし結果 123000,12 が必要です

この問題を解決するためのアイデアはありますか?

前もって感謝します!

回答 1 件
  • [Math]::Truncate(123000.1264 * 100) / 100
    
    

    それをします。

    123000.1264 * 100 = 12300012.64
    [Math]::Truncate(12300012.64) = 12300012
    12300012 / 100 = 123000.12

    小数部分の精度を維持する必要がある場合は、数値に[decimal]タイプを使用する必要があります。

    $d = [decimal]123000.1264
    
    

    [Math] :: Truncateは10進数のオーバーロードを使用して10進数を与え、10進数を整数(またはdouble)で割ると10進数の結果が得られます。

    もちろん、「アップ」を解釈する方法は複数あります。つまり、価値の増加を意味する可能性があります(3> -5)または 大きさの増加(| -5 |> | 3 |)。前者が必要な場合は、[Math] :: Floor(-1.1->を変換します  -2.0)[Math] :: Truncate(-1.1->に変換します)  1.0)。

あなたの答え