我已经尝试了以下方法:
discval = 2.833423
discval = discval.toFixed(2).toString().replace("." , ",");
discval = parseFloat(discval);
输出是2而不是2,83
任何想法?
最佳答案
parseFloat("2,83")
将返回2
,因为,
不被识别为十进制分隔符,而.
则被识别为十进制分隔符。
如果要将数字四舍五入到小数点后两位,请使用parseFloat(discval.toFixed(2))
或Math.round(discval * 100) / 100;
如果出于显示目的需要此突出物,则将其保留为带逗号的字符串。您也可以使用Number.toLocaleString()
设置数字格式以用于显示。但是您将无法在进一步的计算中使用它。
BTW .toFixed()
返回一个字符串,因此此后无需使用.toString()
。