You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中将带逗号分隔符的数字字符串转换为数值类型

JavaScript 逗号分隔数字字符串转数值方法

首先明确:JavaScript 原生数值类型使用小数点.作为小数分隔符,不存在带逗号的数值格式,你需要的「23,21」属于本地化展示格式,实际计算用转换后的23.21数值即可,展示时可再格式化回逗号形式。

方案1:简单替换法(兼容所有环境,适合无千位分隔符的场景)

直接把字符串中的逗号替换为小数点,再转换为数值即可:

const inputStr = "23,21";
// 替换逗号为小数点后转数值
const num = Number(inputStr.replace(',', '.'));
// 输出结果:23.21
console.log(num);

如果你的字符串里的逗号是千位分隔符(比如"12,345"要转成12345),用全局替换把所有逗号删掉再转:

const inputStr = "12,345";
const num = Number(inputStr.replace(/,/g, ''));
// 输出结果:12345
console.log(num);

方案2:本地化解析方案(适合复杂数字格式场景)

如果你的输入字符串符合特定地区的数字格式(比如欧洲地区常用的.做千位分隔符、,做小数点,格式为"1.234,56"),可以用Intl.NumberFormat API 做本地化解析:

const inputStr = "23,21";
// 使用以逗号为小数分隔符的地区配置,比如波兰语pl-PL、德语de-DE
const num = new Intl.NumberFormat('pl-PL').parse(inputStr);
// 输出结果:23.21
console.log(num);

本地化回显为逗号格式

如果需要把计算后的数值重新展示为带逗号的格式,可以用Intl.NumberFormat格式化:

const num = 23.21;
const displayStr = new Intl.NumberFormat('pl-PL').format(num);
// 输出结果:"23,21"
console.log(displayStr);

内容的提问来源于stack exchange,提问作者Tomasz Tarkowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:09:00