只选择两个小数位而不进行舍入

时间:2018-05-25 08:14:30

标签: powershell

我想只选择两个小数位而不进行四舍五入。

$(function() {
    document.addEventListener('turbolinks:request-start', function() {
        alert("OK");
    });

    document.addEventListener("turbolinks:request-end", function(){
        alert("OK");
    });
});

结果:$d = 123000.1264 '{0:f2}' -f $d ,但我需要结果123000,13

有什么想法可以解决这个问题吗?

提前谢谢!

1 个答案:

答案 0 :(得分:4)

[Math]::Truncate(123000.1264 * 100) / 100

做到了。

  

123000.1264 * 100 = 12300012.64
  [数学] ::截断(12300012.64)= 12300012
  12300012/100 = 123000.12

当您需要保留小数部分的准确性时,您应该使用数字的[decimal]类型,例如

$d = [decimal]123000.1264

然后[Math] :: Truncate将使用其decimal overload给出小数,小数除以整数(或双精度)将得到小数结果。

当然,解释“up”的方法不止一种:它可能意味着增加值(3> -5)增加幅度(| -5 |> | 3 |)。如果你需要前者,那么使用[Math] :: Floor(转换-1.1 - > -2.0)而不是[Math] :: Truncate(转换-1.1 - > 1.0)。