ToFixed()用于四舍五入的问题及解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ToFixed()用于四舍五入的问题及解决方法相关的知识,希望对你有一定的参考价值。

javascript方法:

/*
 * target Input控件
 * value 数值
 * decimal 小数位数
 */
function DetailsFormatNumber(target, value, decimal) {
    value = !isNaN(value) && value != undefined && value != "" ? parseFloat(value) : 0;
    if (parseFloat(value) < 0) value = 0;

    $(target).val(value.toFixed(decimal));
}

 Input

<input type="text" style="height:18px;" onclick="javascript:$(this).select();" onblur="javascript:DetailsFormatNumber(this,$(this).val(),4);" />

在个别情况下,四舍五入会失效,将JavaScript修改为如下方法即可

/*
 * target Input控件
 * value 数值
 * decimal 小数位数
 */
function DetailsFormatNumber(target, value, decimal) {
    value = !isNaN(value) && value != undefined && value != "" ? parseFloat(value) : 0;
    if (parseFloat(value) < 0) value = 0;

    var result = Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);
    $(target).val(result.toFixed(4));
    //$(target).val(value.toFixed(decimal));
}

 

以上是关于ToFixed()用于四舍五入的问题及解决方法的主要内容,如果未能解决你的问题,请参考以下文章

toFixed 不能四舍五入问题

js中Number.toFixed()方法的理解

toFixed内置四舍五入错误

JS处理数据四舍五入,tofixed与round的区别

js实现的数字四舍五入效果代码实例

JS处理数据四舍五入(tofixed与round的区别详解)