javascript - 将字符串转换为货币格式 JavaScript 中的数字

标签 javascript string

<分区>

我有字符串“722,311.75”,我想将其转换为数字 722,311.75(货币格式)。以下代码不起作用。

var str = "722,311.75";
var nr = parseFloat(str, 10).toFixed(2);
console.log(nr); // Returns 722.00

知道我该怎么做吗?

最佳答案

在将字符串传递给 parseFloat 之前替换字符串中的 ,

如果字符串包含多个 ,,您可以使用 ragex 删除所有出现的 ,

正则表达式 /,/ 将匹配字符串中的 , 文字和 g 全局标志将使正则表达式匹配所有可能的字符串,即来自字符串的所有 ,

var str = "1,722,311.75";
var nr = parseFloat(str.replace(/,/g, ''), 10).toFixed(2);
document.write(nr);


如果字符串中只有一个,,可以使用replace with string 来删除字符串中的,

var str = "722,311.75";
var nr = parseFloat(str.replace(',', ''), 10).toFixed(2);
document.write(nr);

注意:replace(',', '') 只会删除第一次出现的 ,。请参阅将替换所有出现的正则表达式方法的第一个代码片段。

关于javascript - 将字符串转换为货币格式 JavaScript 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32906508/

相关文章:

javascript - 安全的、可沙盒化的用户暴露编程语言/环境?

javascript - Google Analytics.js 不能在不同操作系统的相同浏览器之间工作

Python 在字符串列表中的搜索模式

java - 在 Java 中,你可以使用负数和子字符串吗?

javascript - 为每个输入字段拆分 json 数组响应

javascript - 使用 javascript 获取 iframe 内的元素

java - 如何修复此错误 :"Cannot invoke getFirst() on the primitive type char"?

c++ - getline 不会从变量中读取字符串。 (C++)

c++ - 为什么 string::replace 在 C++11 中不指定分配器的异常?

javascript - 上传base64字符串图像