相关疑难解决方法(0)

如何处理JavaScript中的浮点数精度?

我有以下虚拟测试脚本:

function test() {
  var x = 0.1 * 0.2;
  document.write(x);
}
test();
Run Code Online (Sandbox Code Playgroud)

这将打印结果0.020000000000000004,只应打印0.02(如果您使用计算器).据我所知,这是由于浮点乘法精度的误差.

有没有人有一个很好的解决方案,以便在这种情况下,我得到正确的结果0.02?我知道有类似的功能toFixed或舍入将是另一种可能性,但我想真正打印整个数字没有任何切割和舍入.只是想知道你们其中一个人是否有一些漂亮,优雅的解决方案.

当然,否则我会转到大约10位左右.

javascript floating-point

552
推荐指数
22
解决办法
34万
查看次数

Javascript VS PHP舍入

我对PHP和javascript轮数的方式有一些问题.我正在使用PHP的圆函数和这个javascript函数:

function roundNumber(number, decimals) {     
    var newnumber = new Number(number+'').toFixed(parseInt(decimals));
    var value = parseFloat(newnumber);
    return value;
}
Run Code Online (Sandbox Code Playgroud)

我试图舍入的数字是43.65*2.5 + 40%,当使用计算器= 152.775或在PHP = 152.78舍入时.

在javascript中我做一个console.log的数字是152.774999999998,当用上面的函数舍入时给我152.77

非常感谢任何帮助重新解决这个问题

javascript php

6
推荐指数
2
解决办法
4153
查看次数

标签 统计

javascript ×2

floating-point ×1

php ×1