如何使用toLocaleString()方法将数字四舍五入?

时间:2019-02-28 11:29:51

标签: javascript html string function object

我有这个电话号码:7.425000000000001

我想将其舍入为以下结果: 7,42€

但是我的结果是7,43€

这是我的代码:

 this.article.price_pvp.toLocaleString('de-DE', 
       {
            style: 'currency', 
            currency: 'EUR',
            maximumFractionDigits: 2 
        }); //this return me 7,43

3 个答案:

答案 0 :(得分:3)

尝试一下。您可以根据所需的精度更改n的值。然后您可以使用toLocaleString

var a=7.425000000000001
var n=2;
console.log(a.toFixed(n)-(1/Math.pow(10,n))*(n-1))

答案 1 :(得分:2)

由于5而四舍五入-首先使用toFixed(2)

this.article.price_pvp.toFixed(2).toLocaleString('de-DE', 
   {
        style: 'currency', 
        currency: 'EUR',
        maximumFractionDigits: 2 
    });

编辑

将其更改为浮点数,然后更改为字符串,然后使用前五位数字并使用toFixed()

parseFloat(parseFloat(this.article.price_pvp).toString.substring(0, 5)).toFixed(2);

答案 2 :(得分:1)

尝试这个。我认为您需要将该浮点值解析为小数点后两位。

this.article.parseFloat(price_pvp).toFixed(2).toLocaleString('de-DE', { style: 'currency', currency: 'EUR', maximumFractionDigits: 2 });