我有这个电话号码:7.425000000000001
我想将其舍入为以下结果: 7,42€
但是我的结果是7,43€
这是我的代码:
this.article.price_pvp.toLocaleString('de-DE',
{
style: 'currency',
currency: 'EUR',
maximumFractionDigits: 2
}); //this return me 7,43
答案 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
});