jquery除法保留两位数toFixed(2)的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery除法保留两位数toFixed(2)的问题相关的知识,希望对你有一定的参考价值。

total += (Number($(this).html())/60)
输出为3.1733333333333333
我想保留两位数
改成total += (Number($(this).html())/60).toFixed(2);
结果输出为00.010.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.0

我只想要3.17(四舍五入)

<script type="text/javascript">
var Digit = ;
Digit.round = function(digit, length) 
    length = length ? parseInt(length) : 0;
    if (length <= 0) return Math.round(digit);
    digit = Math.round(digit * Math.pow(10, length)) / Math.pow(10, length);
    return digit;
;
var num = 3.1733333333333333;
alert(Digit.round(num, 2));//四色五入保留2位小数

参考技术A

你好!!

total += (Number($(this).html())/60);
total = (total).toFixed(2);

追问

Uncaught TypeError: Object 0.010 has no method 'toFixed'

追答

你问题原文不是这样的么?
total += (Number($(this).html())/60)
输出为3.1733333333333333

这个时候 , 难道不是 total = 3.1733333333333333么?

追问

是的,直接输出是3.1733333333333333,但加了你那句就出错了

追答

不会吧?

total = 3.1733333333333333
total = (total).toFixed(2);

这样会出错??

追问

如果就这句,total += (Number($(this).html())/60),结果等于3.17333333333333333,加上你那句,报错,如果直接把公式改为3.17333333333,再加上你那句,也没报错,可以正常显示,但我需要的是公式的计算结果,谢谢

追答

了解了!!

total += (Number($(this).html())/60);
total = parseFloat(total).toFixed(2);

这样再试试吧·····

参考技术B ParseFloat((Number($(this).html())/60).toFixed(2))追问

ParseFloat is not defined

追答

我是手写的,你去查查js的 ParseFloat方法

JavaScript toFixed() 实现四舍五入保留两位小数

const num = 18.186;
let result;
result = num.toFixed(2)
console.log(result)  // 18.19

注意,返回值为String类型

以上是关于jquery除法保留两位数toFixed(2)的问题的主要内容,如果未能解决你的问题,请参考以下文章

excel2007除法结果为啥只有整数,怎样才能保留两位小数?

linux 除法保留小数

[js/jq]保留两位小数的问题

WPS 表格怎么做除法?并保留小数一位?

java 两个数相除后四舍五入并保留两位小数

如何在jquery或javascript中获得小数点后的精确两位数