舍入值为2位小数javascript

时间:2013-02-02 21:33:06

标签: jquery rounding

我的最终值有一个小问题,我需要舍入到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);

2 个答案:

答案 0 :(得分:68)

如果您希望将其视觉格式化为两位小数作为字符串(用于输出),请使用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"
    
  3. 而且,正如您在上面所看到的,使用toFixed()也更容易输入。 ;)

答案 1 :(得分:10)

将数字乘以100,舍入,并将得到的数字除以100。