Как сделать javascript округленным вниз числом - продолжить - PullRequest
0 голосов
/ 03 мая 2011

Это немного отличается от моего вопроса до

Как округлить с помощью JavaScript

У меня есть этот набор чисел, и я хочу округлить до 1 десятичного знака. Поскольку стандартная функция округления javascript не может удовлетворить мои требования, надеюсь, кто-нибудь может мне помочь:)

Ниже приведен вывод, необходимый при округлении вниз:

192.168 => 192.10
192,11 => 192,10
192,21 => 192,20
192,26 => 192,20
192.30 => 192.30

Ответы [ 5 ]

2 голосов
/ 03 мая 2011

это не округление, 192.168 округляется до двух десятичных разрядов - 192.20.

Однако для вашего требования: вы можете просто умножить его на кратные 10, взять «пол», а затем разделить на то женомер.

см. здесь: http://jsfiddle.net/7qeGH/

var numbers = new Array(192.168,192.11 ,192.21 ,192.26 ,192.30 );

var response = "";

for(var i =0 ; i< numbers.length ; i++)

{
     var rounded = Math.floor(numbers[i]*10)/10  + '0';  // '0' is added as string
     response +=   numbers[i] + " => " + rounded + "\n";

}

alert(response);
1 голос
/ 03 мая 2011

Вы можете попробовать что-то вроде этого:

var mynum = 192.168;
var result=Math.round(mynum*100)/100; 
1 голос
/ 03 мая 2011

Как насчет Math.round(number * 10) / 10? Вы получите результат с 1 десятичным знаком, так что вы можете добавить ноль в конце (Math.round(number * 10) / 10) + "0"

Но на самом деле вы округлились, а не вверх. Так было бы Math.floor().

0 голосов
/ 03 мая 2011

Разве вы не пытаетесь просто пол? То есть «круглый вниз ».

Math.floor(the_number*10)/ 10)
0 голосов
/ 03 мая 2011

Очень просто

testVal = Math.round(YourNumberHere*100)/100 ;
...