Javascript 如何在字符串中的数字中添加逗号

Javascript 如何在字符串中的数字中添加逗号,javascript,Javascript,所以我知道如何在数字上添加逗号(toLocaleString.()),这个函数需要整数或十进制值作为参数。我需要这个带2位小数的结果。它确实运行并返回正确的数据,但我希望小数点固定为2位,如下所示 var num=66666 console.log(“原始”,num) log(“带逗号”,num.tolocalString()) console.log(“2位固定”,num.toFixed(2)) log(“不工作——”,(num.toFixed(2)).toLocaleString() co

所以我知道如何在数字上添加逗号(toLocaleString.()),这个函数需要整数或十进制值作为参数。我需要这个带2位小数的结果。它确实运行并返回正确的数据,但我希望小数点固定为2位,如下所示

var num=66666
console.log(“原始”,num)
log(“带逗号”,num.tolocalString())
console.log(“2位固定”,num.toFixed(2))
log(“不工作——”,(num.toFixed(2)).toLocaleString()
console.log(“error——”,(num.tolocalString()).toFixed(2))
我认为toFixed()正在将浮点更改为字符串

num = 66666.7;
num = parseFloat(num.toFixed(2))
console.log(num.toLocaleString())
下面的解决方案应该很好

编辑-还有另一个解决方案

(Math.round(num * 100) / 100).toFixed(2);

您可以在选项中指定精确的小数位数,这是
toLocaleString()中的第二个参数。

另见MDN文件

最小分数位数

要使用的最小小数位数。 可能的值为0到20;普通数字和数字的默认值 百分比格式是

最大分数位数

要使用的最大小数位数。 可能的值为0到20;纯数字的默认值 格式设置是最小分数位数和3中的较大值

该方法返回一个字符串,但该方法需要一个数字,因此在函数中使用
toFixed()
方法后,只需将字符串转换为一个数字,然后对其使用
toLocaleString()
方法即可

但是,请注意,您必须手动追加前导的
0
,因为
parseFloat()
方法会删除小数点右侧的任何前导零

在另一个堆栈溢出线程上检查此项,该线程解释了
parseFloat()
方法删除小数点后前导零的原因


var num=66666
var parsedNum=(“”+num).split(‘.)[1]。长度>1?
parseFloat(num.toFixed(2)).ToLocalString():
parseFloat(num.toFixed(2)).toLocaleString()+'0';
console.log(“原始”,num)
log(“带逗号”,num.tolocalString())
console.log(“2位固定”,num.toFixed(2))

log(“正在工作--”,parsedNum)
否。我希望小数点最多为2位。它不会将0与.7相加,这相当于
num.toLocalString()
,但当已经有2位数字编号即66666时,它将失败。79@pu您只需检查数字是否在小数点后有多个数字,只有在小数点后有多个数字时才添加0。检查更新的答案。干杯。你还可以使用很多其他选项。看看MDN文档就知道了。
const number = 24242324.5754;

number.toLocaleString('en-US', {
    minimumFractionDigits: 2,
    maximumFractionDigits: 2
})

// result is: 24,242,324.58