Javascript задача десятичного округления - точность - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть эта функция, когда я пытаюсь округлить до следующего знака после запятой, и я прочитал много информации по этой теме, но, похоже, она не регистрируется.

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 );

То, что я подумал, может быть легкой задачей, чтобы убедиться, что округление до следующего цента, кажется, не работает должным образом

Fiddle Link: http://jsfiddle.net/axd0y581/5/

надеюсь, кто-то здесь сможеттупо для меня

заранее спасибо

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

вероятно, вы можете попробовать это: Math.ceil(testNumber +'e2')/100

0 голосов
/ 26 сентября 2018

Как насчет того, чтобы попробовать что-то вроде этого:

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

codepen

...