Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Округление чисел (https://javascript.ru/forum/css-html/11179-okruglenie-chisel.html)

sergey-16a1 11.08.2010 20:21

Округление чисел
 
Как сделать, чтоб при результате l=25.36968, выводилось на экран l=25.36, то есть после запятой показывало две цифры.

Kolyaj 11.08.2010 20:23

http://javascript.ru/Number/toFixed

sergey-16a1 11.08.2010 20:33

function vcasht(x)

{
//q=Math.ceil(x)
var tmp=String(Math.ceil(x).toPrecision(2));

res=tmp;
return res+' '
}

Я делал так , у меня после запятой получаются нули, что не так подскажите.

Kolyaj 11.08.2010 21:00

Цитата:

Сообщение от sergey-16a1
res=tmp;
return res+' '

Интересный финт.

Цитата:

Сообщение от sergey-16a1
у меня после запятой получаются нули, что не так подскажите.

А что не так? Вы это и просили
Цитата:

Сообщение от sergey-16a1
то есть после запятой показывало две цифры.


sergey-16a1 12.08.2010 11:50

нужно чтоб после запятой показывало 2 цифры и оно чтоб не обнулялись, если результат 25,639, то чтоб показывало 25,63, а у меня показывает 25,00.
Подскажите, как надо написать функцию, чтоб после запятой оставалось 2 цифры, а все остальное отбрасывалось.

рони 12.08.2010 12:56

var x = 25.639;//если число
 document.write(Number(x).toFixed(2));
 var str = '25,639'//если строка с запятой
 document.write(Number(str.replace(',','.')).toFixed(2));

или так если строка нужна
var str = '25,639';
 document.write(str.replace(/((\d{2})(\d*?))$/,'$2'));

sergey-16a1 12.08.2010 14:52

Нечего не понял, я сделал так,

function vcasht(x)

{
//q=Math.ceil(x)
var tmp=String(Math.ceil(x).toPrecision(2));

res=tmp;
return res+' '
}

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

Kolyaj 12.08.2010 15:28

sergey-16a1,
вам уже два человека указали на нужный метод, ещё раз ссылку дать?

Modder 08.07.2012 00:46

Оставляем определенное количество цифр после запятой
 
sergey-16a1,

очень просто:
var x = 25.36968;
x = Math.floor(x*100)/100;
alert(x);

либо используем универсальную функцию:
function floorN(x, n)
{
	var mult = Math.pow(10, n);
	return Math.floor(x*mult)/mult;
}

var x = 25.36968;
x = floorN(x, 2); //2 знака после запятой
alert(x);

:thanks:

Aetae 08.07.2012 12:27

facepalm.jpg
в теме наркоманы =(


Часовой пояс GMT +3, время: 06:33.