Округление чисел 
		
		
		
		Как сделать, чтоб при результате l=25.36968, выводилось на экран l=25.36, то есть после запятой показывало две цифры. 
	 | 
	
		
  | 
	
		
 function vcasht(x) 
	{ //q=Math.ceil(x) var tmp=String(Math.ceil(x).toPrecision(2)); res=tmp; return res+' ' } Я делал так , у меня после запятой получаются нули, что не так подскажите.  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
  | 
	
		
 нужно чтоб после запятой показывало 2 цифры и оно чтоб не обнулялись, если результат 25,639, то чтоб показывало 25,63, а у меня показывает 25,00. 
	Подскажите, как надо написать функцию, чтоб после запятой оставалось 2 цифры, а все остальное отбрасывалось.  | 
	
		
 
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'));
 | 
	
		
 Нечего не понял, я сделал  так, 
	function vcasht(x) { //q=Math.ceil(x) var tmp=String(Math.ceil(x).toPrecision(2)); res=tmp; return res+' ' } что мне надо поменять, чтоб после запятой две цифры не обнулялисьюНе ругайтесь, тока учусь  | 
	
		
 sergey-16a1, 
	вам уже два человека указали на нужный метод, ещё раз ссылку дать?  | 
	
		
 Оставляем определенное количество цифр после запятой 
		
		
		
		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:  | 
	
		
 facepalm.jpg 
	в теме наркоманы =(  | 
	
		
 Красивое округление можно получить через такую функцию: 
	
roundNum = function(n,f){
	f = f || 0;
	return Number(n.toFixed(f).replace(/([0-9]+.[0-9]*)0+$/gi,'$1'));
}
roundNum( 130.004000, 3 ); // Возвратит 130.004
roundNum( 130.004000, 2 ); // Возвратит 130
roundNum( 130.004000, 10 ); // Возвратит 130.004
Данное округление убирает все лишние нули в конце цифры и возвращает цифровое значение.  | 
	
		
 ага, а: roundNum( 0.00000001, 10 ); 
	Возвратит: 1e-8 а: roundNum( '0.00000001', 10 ); Возвратит: TypeError: n.toFixed is not a function.... ![]() 
roundNum = function(n,f){
	f = f || 0;
	return Number(n.toFixed(f).replace(/([0-9]+.[0-9]*)0+$/gi,'$1'));
}
alert( roundNum( 0.00000001, 10 ) ); // Возвратит 1e-8
alert( roundNum( '0.00000001', 10 ) ); // Возвратит TypeError: n.toFixed is not a function
к тому же, регулярка - явно кривая, ну и соответственно replace()  | 
	
		
 Тогда уж, как-то так: 
	
function roundNum(n,f){
	f = f || 0;
	return (+n).toFixed(f).toString().replace(/^((.*?)\.*0+)$/g,'$2');
};
alert( roundNum( 130.004000, 2 ) ); // Возвратит 130
alert( roundNum( 130.004000, 10 ) ); // Возвратит 130.004
alert( roundNum( 100.001000, 3 ) ); // Возвратит 100.001
alert( roundNum( 2200.002000, 2 ) ); // Возвратит 2200
alert( roundNum( 3000, 10 ) ); // Возвратит 3000
alert( roundNum( 0.00000004, 10 ) ); // Возвратит 0.00000004
alert( roundNum( '0.00000005', 10 ) ); // Возвратит 0.00000005
alert( roundNum( .00000006, 10 ) ); // Возвратит 0.00000006
alert( roundNum( '.00000007', 10 ) ); // Возвратит 0.00000007
alert( roundNum( '.00000008', 3 ) ); // Возвратит 0
alert( roundNum( 90000., 3 ) ); // Возвратит 90000
 | 
| Часовой пояс GMT +3, время: 02:14. |