我知道之前已经问过这个问题而且我已经阅读了这个问题,但我仍然不清楚解决方案。我的尝试失败了。
<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?
此致
答案 0 :(得分:1)
它没有读取不同的值。 之所以出现差异,是因为浮点数的存储精度如何。存储号码时,您无需担心。你将永远无法完全按照自己的意愿存储它。
显示数字时,您必须将其修剪为两位小数,这应该在读取时正确显示。您的问题只是数字的显示方式。
答案 1 :(得分:0)
我看到冗余,为什么parseFloat一个已经是Number
的值?
只需parseFloat
文字即可完成工作。
var str_subtotal = "12.348";
var num_subtotal = parseFloat(str_subtotal); // 12.348 (as number)
console.log(num_subtotal.toFixed(2));
请注意,要修复数字 将 ,请使用Math.round
代替