如何将字符串转换为数字?

时间:2017-09-07 19:05:16

标签: javascript type-conversion

如何将" 4,250,000.40" 转换为 4,250,000.40 ,即通过保留逗号和点数将字符串转换为数字?使用JavaScript

3 个答案:

答案 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中不是有效数字,因为commaNumber中的非法字符。

您可以使用正则表达式删除逗号,然后使用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;
&#13;
&#13;