Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用toLocalString()方法对该数字进行四舍五入?_Javascript_Html_String_Function_Object - Fatal编程技术网

Javascript 如何使用toLocalString()方法对该数字进行四舍五入?

Javascript 如何使用toLocalString()方法对该数字进行四舍五入?,javascript,html,string,function,object,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.425000000000001

我想把它四舍五入如下结果:7,42€

但我的结果是7,43欧元

这是我的代码:

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

由于
5
,它是四舍五入的-首先使用
toFixed(2)

this.article.price_pvp.toFixed(2).toLocaleString('de-DE', 
   {
        style: 'currency', 
        currency: 'EUR',
        maximumFractionDigits: 2 
    });
编辑 将其更改为浮点,然后是字符串,然后取前五位数字并使用
toFixed()


试试这个。您可以根据所需的精度更改n的值。然后你可以使用toLocaleString

var a=7.425000000000001
var n=2;

console.log(a.toFixed(n)-(1/Math.pow(10,n))*(n-1))
试试这个。我认为您需要将浮点值解析为小数点后的两位数

this.article.parseFloat(price_pvp).toFixed(2).tolocalesting('de-de'),
{
风格:“货币”,
货币:欧元,
最大分数位数:2

});

也许您可以在使用
ToLocalString()
之前,根据什么规则执行
yourNumber.toFixed(2)
,如图所示?
7.429
应该四舍五入到什么值?@luk2302我想他只是想把他的数字截成2decimals@luk2302我不认为它应该是四舍五入的,只是去掉小数点。我没有问你@Nenri或JackBashford,我问OP他想做什么,我可以整天对他的意图做出假设。没问题@Nenri总是很乐意help@AntonioMorales
parseFloat(7.425000000000001.toString().substr(0,5)).toFixed(2)这是一个外观不好的解决方案,但仍然有效。(我应该给出答案吗?@JackBashford在使用
.toFixed(2)
Whoops@Nenri修复了由于js错误的十进制处理而无法工作的问题)之前,您忘了再次将其解析为浮点。查看工作解决方案的其他答案试试这个例子:
var a=7.425000000000001;var值=解析浮点(a).toFixed(2);console.log(值)由于相同的原因不工作。OP需要7时返回7.43。42@Jaykant为什么不呢?你的第二种方法与这个问题的另一个答案完全相同。没问题,你的主要解决方案是好的,而且更加数学化,所以两者都可以接受
parseFloat(parseFloat(this.article.price_pvp).toString.substring(0, 5)).toFixed(2);