Javascript 意外的 parsefloat 行为?

Javascript unexpected parsefloat behavior?

我知道之前有人问过这个问题,我已经阅读了有关该主题的内容,但我仍然不清楚解决方案。我的尝试失败了。

<div class="subtotal" data-content="€">30.50</div>

但对于以下 jquery js,它显示为 30.509

test = parseFloat($('.subtotal').text());//reads 30.509

我试过了

test = parseFloat(Number($('.subtotal').text()).toFixed(2));//gives NaN

如何确保 javascript 读取的小计为 30.50 而不是 30.509?

此致,

它没有读取不同的值。 不同之处在于浮点数存储在内存中的精度。当您存储号码时,您无需担心这一点。您将永远无法完全按照自己的意愿存储它。

显示数字时,您必须 trim 保留两位小数,以便在阅读时正确显示。您的问题只是数字的显示方式。

我看到了冗余,为什么 parseFloat 一个已经是 Number 的值?

只需 parseFloat 文本即可完成工作。

var str_subtotal = "12.348";
var num_subtotal = parseFloat(str_subtotal); // 12.348 (as number)
console.log(num_subtotal.toFixed(2));

请注意,toFixed 不会 舍入数字,而是使用 Math.round