Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 如何从浮点数截断额外的零_Javascript_Floating Point - Fatal编程技术网

Javascript 如何从浮点数截断额外的零

Javascript 如何从浮点数截断额外的零,javascript,floating-point,Javascript,Floating Point,说: var x=6.450000000000003; 变量y=5.23450000000002 这些是浮点除法的结果,因此需要删除3和2。如果x和y具有不同的精度级别,如何将它们修剪为6.45和5.2345?您可以使用并将字符串转换回数字 var x=6.450000000000003, y=5.23450000000002; x=+x.toFixed5; y=+y.toFixed5; console.logx; 精神病学 您可以使用该字符串并将其转换回数字 var x=6.4500000

说: var x=6.450000000000003; 变量y=5.23450000000002

这些是浮点除法的结果,因此需要删除3和2。如果x和y具有不同的精度级别,如何将它们修剪为6.45和5.2345?

您可以使用并将字符串转换回数字

var x=6.450000000000003, y=5.23450000000002; x=+x.toFixed5; y=+y.toFixed5; console.logx; 精神病学 您可以使用该字符串并将其转换回数字

var x=6.450000000000003, y=5.23450000000002; x=+x.toFixed5; y=+y.toFixed5; console.logx; 精神病学 您可以使用Math.round,但必须选择精度

否则,你会失去洞察力,你不想这样

var x=6.450000000000003; 变量y=5.23450000000002; console.logMath.roundx*1000000/1000000; console.logMath.roundy*1000000/1000000 您可以使用Math.round,但必须选择精度

否则,你会失去洞察力,你不想这样

var x=6.450000000000003; 变量y=5.23450000000002; console.logMath.roundx*1000000/1000000;
console.logMath.roundy*1000000/1000000 试试这个功能。如您所说,如果您只是想删除结尾数字和尾随零,下面的代码可能会有所帮助

函数stripZeroesx{ //删除最后一个数字,你知道它与什么无关 //你正在工作 x=x.toString.Substring 0,x.toString.length-1; //将now字符串解析回float //删除尾随零的效果。 返回parseFloatx;} //设置用于测试上述功能的VAR var x=6.450000000000003; 变量y=5.23450000000002; //测试功能并显示输出 console.logstripZeroesx;
console.logstripZeroesy 试试这个功能。如您所说,如果您只是想删除结尾数字和尾随零,下面的代码可能会有所帮助

函数stripZeroesx{ //删除最后一个数字,你知道它与什么无关 //你正在工作 x=x.toString.Substring 0,x.toString.length-1; //将now字符串解析回float //删除尾随零的效果。 返回parseFloatx;} //设置用于测试上述功能的VAR var x=6.450000000000003; 变量y=5.23450000000002; //测试功能并显示输出 console.logstripZeroesx;
console.logstripZeroesy;您能澄清一下:您想更改变量中的值,还是打印时要显示的位数?如果是关于数值本身,请记住,并非所有的数字都可以表示为浮点值,因此小数末尾可能会出现一些错误。我看不出您的数字有不同的精度级别,我们无法从数值中看出这一点。您是否确定了计算或测量的精度?是否可能重复?您能否澄清:您是想更改变量中的值,还是与打印时显示的位数有关?如果是关于数值本身,请记住,并非所有的数字都可以表示为浮点值,因此小数末尾可能会出现一些错误。我看不出您的数字有不同的精度级别,我们无法从数值中看出这一点。你确定计算或测量的精度了吗?代码块自身可能的重复通常不是有用的答案,更可能吸引反对票。请解释你展示的解决方案是什么,以及为什么/如何回答这个问题。OP确实在寻找解决浮点不精确问题的方法。结尾可能有多个额外数字,可能是一个9而不是0的字符串。此外,此函数还可以对没有尾随零+结束数字的数字进行打断。根据OP的评论,他们希望删除最后一个数字和零。我理解你的意思,但我不是想提供一个通用的解决方案,而是针对OP指出的特定问题和参数提供一个特定的解决方案:JavaScript中如何处理浮点数精度的两个可能的重复JJJ Jun 15在20:04我的意思是,我想删除最后一个数字和所有的零Mardymar 6月15日20:05,代码块本身通常不是有用的答案,更可能吸引反对票。请解释你展示的解决方案是什么,以及为什么/如何回答这个问题。OP确实在寻找解决浮点不精确问题的方法。结尾可能有多个额外数字,可能是一个9而不是0的字符串。此外,此函数还用于断开没有尾随零的数字
+结束数字。根据OP的评论,他们希望删除最后一个数字和零。我理解你的意思,但我不是想提供一个通用的解决方案,而是针对OP指出的特定问题和参数提供一个特定的解决方案:JavaScript中如何处理浮点数精度的两个可能的重复JJJ Jun 15在20:04我的意思是,我想删除最后一个数字和所有的零Mardymar 6月15日20:05