简体   繁体   English

Javascript十进制舍入问题-精度

[英]Javascript decimal rounding problem - precision

I've got this function as I'm trying to round up to the next decimal place and I have read a lot of information on this topic, but it doesn't seem to register. 我要将此函数舍入到小数点后一位时已经有了此功能,并且我已经阅读了很多有关此主题的信息,但似乎没有注册。

function myFunction() {
var testNumber = 399.894;       // required output is 399.90 - correct
var testNumber = 389.894;       // required outout is 389.90 - correct
var testNumber = 389.891;       // required output is 390.90 - correct
var testNumber = 379.791        // required output is 379.80 - correct
var testNumber = 399.991        // required output is 400.00 - correct
var testNumber = 379.761        // required output is 379.77 - incorrect - shows 379.80

return Number(Math.round(testNumber+'e1')+'e-1');
}

var myNumbers = myFunction();
alert(myNumbers );

What I thought might be an easy task to make sure it rounds up to the next cent seems to not work properly 我认为确保将其舍入到下一分可能很容易,但是似乎无法正常工作

Fiddle Link : http://jsfiddle.net/axd0y581/5/ 小提琴链接: http : //jsfiddle.net/axd0y581/5/

hopefully someone here might be able to dumb it down for me 希望这里有人可以为我哑巴

thanks in advance 提前致谢

What about trying something like this: 尝试这样的事情呢:

return Number(Math.ceil(testNumber * 100)/100).toFixed(2);

codepen codepen

可能您可以尝试以下方法: Math.ceil(testNumber +'e2')/100

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM