为什么我的toFixed()函数不起作用?

Ben*_*Ben 39 javascript jquery number-formatting

这是相关的代码.我已经通过警报确认保存了正确的号码,它只是没有更改为2位小数.

if ($(this).attr('name') == 'time') {
    var value = $(this).val();
    parseFloat(value).toFixed(2);
    alert(value);
    editEntry.time = value;
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*c B 131

你没有将解析后的浮点数赋给你的值var:

value = parseFloat(value).toFixed(2);
Run Code Online (Sandbox Code Playgroud)

应该解决问题.

  • 我认为它应该是value = parseFloat(value.toFixed(2)); 也就是说,除非你想要一个字符串作为值.ToFixed返回一个字符串,执行toFixed inside会将值保持为数字. (4认同)

小智 7

我多次尝试函数 toFixed(2) 。每次控制台显示“toFixed() 不是函数”。

但我的解决方法是使用 Math.round()

例如:

if ($(this).attr('name') == 'time') {
    var value = parseFloat($(this).val());
    value = Math.round(value*100)/100; // 10 defines 1 decimals, 100 for 2, 1000 for 3
    alert(value);
}
Run Code Online (Sandbox Code Playgroud)

这东西肯定对我有用,它也可能对你们有帮助......