舍入值为2位小数javascript

我的最终值有一个小问题,我需要舍入到2位小数。

var pri='#price'+$(this).attr('id').substr(len-2); $.get("sale/price?output=json", { code: v }, function(data){ $(pri).val(Math.round((data / 1.19),2)); }); }); 

任何帮助表示赞赏。

解决方案: $(pri).val(Math.round((data / 1.19 * 100 )) / 100);

只需将数字乘以100,即可将结果数除以100。

如果你希望它在视觉上格式化为两位小数作为字符串(用于输出)使用toFixed()

 var priceString = someValue.toFixed(2); 

@David的答案有两个问题:

  1. 它将结果保留为浮点数,因此可以显示具有多个小数位的特定结果,例如134.1999999999而不是"134.20"

  2. 如果您的值是整数或舍入到十分之一,您将看不到额外的十进制值:

     var n = 1.099; (Math.round( n * 100 )/100 ).toString() //-> "1.1" n.toFixed(2) //-> "1.10" var n = 3; (Math.round( n * 100 )/100 ).toString() //-> "3" n.toFixed(2) //-> "3.00" 

而且,正如您在上面所看到的,使用toFixed()也更容易键入。 ;)