如何将" 4,250,000.40" 转换为 4,250,000.40 ,即通过保留逗号和点数将字符串转换为数字?使用JavaScript
答案 0 :(得分:4)
您可以使用parseFloat(str)将字符串转换为数字,但首先需要从字符串中删除逗号,因为parseFloat不适用于包含逗号的数字。
parseFloat(str.replace(/,/g, ""));
答案 1 :(得分:1)
var str = "4,250,000.40";
str = str.replace(/\,/g, "")
console.log(str)
console.log(parseFloat(str).toFixed(2))//to always show 2 decimal places

答案 2 :(得分:1)
您无法直接将"4,250,000.40"
转换为vanilla JS中的数字,更不用说保留逗号了。 4,250,000.40
在JavaScript中不是有效数字,因为comma
是Number
中的非法字符。
您可以使用正则表达式删除逗号,然后使用Number.parseFloat()
,但数字格式会丢失。相反,我建议使用像Numeral.js这样的数字格式库。要将"4,250,000.40"
转换为numeral
,请使用:
const num = numeral("4,250,000.40");
您可以使用format()
方法重新格式化您的号码,如下所示:
const formatedNum = numeral("4,250,000.40").format('0,0.00');
console.log(formatedNum); // "4,250,000.40"
这是一个有效的例子,包括更酷的格式:
const num = numeral("4,250,000.40");
const formatedNum = num.format('0,0[.]00');
console.log(formatedNum); // "4,250,000.40"
// you can format number as money
console.log(num.format('$0,0[.]00')); // $4,250,000.40
// you can use abbreviations like k or m
console.log(num.format('$0.00a')); // $4.25m
// you can use financial notation
console.log(numeral("-4,250,000.40").format('($0,0)')); // ($4,250,000)

<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>
&#13;