首页 > 解决方案 > 仅当 JavaScript 中的数字以 9 结尾时如何舍入?

问题描述

我想知道是否有办法仅在以 结尾时才舍入我的号码nine

例如,我有10.9它应该四舍五入11,但如果我有,10.8那么它不应该四舍五入。

标签: javascriptrounding

解决方案


  1. 获取数字的小数(基数)部分。
    • radix = number % 1.0
  2. 检查是否radix介于0.9和之间1.0
    • 实际上使用> 0.8999而不是>= 0.9因为0.9在 IEEE-754 中没有精确的表示。
    • 永远不要使用==浮点数,因为它们没有精确的表示。
  3. 如果基数在范围之间,则使用将输入数字向上舍入Math.ceil

像这样:

function roundUpIfDotNine( n ) {

    var radix = n % 1.0;
    if( radix > 0.899 && radix < 1.0 ) {
        return Math.ceil( n );
    }
    else {
        return n;
    }
}

推荐阅读