0

我需要在逗号后四舍五入到两个数字。例子

5000.0000 至 5000

5000.123 至 5000.12

5000.136 至 5000.13

这是怎么做的?

我需要函数 x.toFixed(2); 但如果在两个零的末尾,那么它们不应该显示

4

4 回答 4

0

由于x.toFixed(2)返回一个字符串,您可以执行以下操作:

function cut(str) {
    if (str[str.length-1] == "0")
        return str.substr(0, str.length-1);
    if (str[str.length-1] == ".")
        return str.substr(0, str.length-1);
    return str;
}

x = cut(cut(cut(x.toFixed(2))));

不是最优雅的(例如,您可以将函数添加到字符串的原型中),但绝对可以工作。

于 2012-06-05T20:58:20.797 回答
0

正如@freakish 所建议的那样,toFixed对数字进行四舍五入是个好主意。如果你想落地,我建议

parseInt(5000.136*100)/100;
于 2012-06-05T09:33:23.790 回答
0

您可以使用此 javascript 函数来舍入数字

function roundNumber(rnum, rlength) { 
  var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
return parseFloat(newnumber);
}

var num = roundNumber(5000.0000,0);   //will return 5000
于 2012-06-05T09:33:06.763 回答
-1

这个链接可以帮助你

http://www.w3schools.com/jsref/jsref_tofixed.asp

例子

将数字转换为字符串,只保留两位小数:

变量编号 = 5.56789; var n=num.toFixed(2);

n 的结果将是:

5.57

于 2012-06-05T09:32:59.117 回答