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