需要帮助进位小数Javascript



我想把两个数字四舍五入,然后把它们相加。

var a = 12.24;Var b = 12.27;

我想让它们四舍五入到12.5,所以当我把这两个数字相加时,结果将是12.5 + 12.5 = 25

与此答案相同,使用不同的乘数/除数。在这个问题中,他们想要最近的10;在这个问题中,您需要最接近的一半。所以不用

var num = 12.24;
num = Math.ceil(num * 10) / 10;
alert(num); // 12.24

…我们使用

var num = 12.24;
num = Math.ceil(num * 2) / 2;
alert(num); // 12.5

使用

Math.round(a / 0.5) * 0.5;

要将四舍五入到最接近的一半,使用

Math.ceil(a / 0.5) * 0.5;但请注意两件事:

  1. 浮点运算仍然可能导致小数四舍五入的数字关闭。(但请注意,半整数可以精确地表示为2的52次幂的浮点数)。

  2. 您可以通过将数字相加然后四舍五入来获得结果。这样数值上更稳定

您可以尝试以下操作。

var a = 12.24;
console.log(roundHalf(a)); // 12.5
var b = 12.27;
console.log(roundHalf(b)); // 12.5
var result = roundHalf(a) + roundHalf(b);
console.log(result); // 25
function roundHalf(num){
    return Math.ceil(num * 2) / 2;
}

最新更新