我对为什么 parseFloat() 在这种情况下返回 0 感兴趣:
var priceFromJson = '0,33';
console.log(priceFromJson);
var tmpPrice = parseFloat(priceFromJson);
console.log('tmpPrice'+tmpPrice);
var price = parseFloat( ( tmpPrice ) * 1.2 ).toFixed(2);
console.log('price'+price);
结果是:
0,33
tmpPrice0
price0.00
但如果我这样做:
var priceFromJson = '0,33';
console.log(priceFromJson);
var tmpPrice = parseFloat( priceFromJson.replace(',','.') );
console.log('tmpPrice'+tmpPrice);
var price = parseFloat( ( tmpPrice ) * 1.2 ).toFixed(2);
console.log('price'+price);
结果是:
0,33
tmpPrice0.33
price0.40
通过http://www.w3schools.com/jsref/jsref_parsefloat.asp,但在我的情况下,第一个字符为零。
任何想法?
编辑(评论后):
所以其他小数,例如。“5,36”、“10,44”在没有替换()的情况下可以正常工作。任何其他想法,在这些情况下我应该怎么做?消除此问题的最佳方法是什么,然后进行实践。谢谢