乘以100后的值错误

Muh*_*DIL 8 javascript

当此值1212.3456789123乘以100时,jQuery显示12.123456789123003而不是12.123456789123.

码:

<p class="price">12.123456789123</p>
<button>Calculate</button>

$(':button').click(function () {
    $('p.price').text(function (i, v) {
        return v * 100;
    });
    this.disabled = true;
});
Run Code Online (Sandbox Code Playgroud)

Ja͢*_*͢ck 5

由于浮点值的非精确性质(这不是JavaScript的错),因此您需要更加具体,例如:

$('p.price').text(function (i, v) {
    return (v * 100).toFixed(10);
});
Run Code Online (Sandbox Code Playgroud)

在哪里.toFixed(10)确定所需分数的大小。


小智 2

JavaScript 在浮点数精度方面存在问题。

如果你想在 JS 中得到精确的结果,比如当你处理金钱时,你需要使用像BigDecimal这样的东西