alert(12000*1.34); = 16080.000000000002 
		
		
		
		Собственно сабж в теме. 
	Или у меня не лады с математикой, или все калькуляторы врут, или что за фигня?  | 
	
		
 Цитата: 
	
 используйте фиксы alert (0.3 - 0.2) alert( (0.3 - 0.2).toFixed(1) ) метод .toFixed() применяется к числу, и округляет его до нужно знака после запятой. принимает в себя число, количество знаков до которых округлять. правда возвращает он строку. так что потом придется еще и превращать это все в число. alert(typeof (0.3 - 0.2).toFixed(1)) alert(typeof parseFloat((0.3 - 0.2).toFixed(1))) alert(parseFloat((0.3 - 0.2).toFixed(1)))  | 
	
		
 Благодарю, я как раз таки это число потом превращал в строку, теперь просто этой функцией и превращаю в строку =) 
	Так что за проблема у JS с умножением? Я теперь никаким его вычислениям не верю.  | 
	
		
 Цитата: 
	
 по этому при вычислениях с дробными числами всегда есть погрешность.)  | 
	
		
 var x = (12000 * 1.34).toFixed(4) - 0; alert(typeof x); alert(x); Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Я с этим со всем согласен, и знаю эти стандарты. 
	Однако все языки программирования используют этот стандарт, и я впервые встречаю такое поведение. Другие языки так себя не ведут.  | 
	
		
 Цитата: 
	
  | 
	
		
 хмм,  
	<?php echo(12000*1.34); ?>16080  | 
	
		
 Цитата: 
	
 2) есть способ обходить эту неточность, вычислениями в столбик)) иными словами в памяти хранится не ДРОБНОЕ ЧИСЛО, а хранится что на что делить. и потом когда тебе нужно получить значение, ты просто указываешь точность и комп вычисляет столбиком))) 3) во многих языках стоит автофикс если тип числа и система счисления не указаны явно)) по этому ты и не замечаешь такого поведения)  | 
	
		
 Соглашусь, тогда это существенный минус JS что он не обходит эти неровности исчисления. 
	 | 
	
		
 Цитата: 
	
  | 
	
		
  | 
	
		
 Цитата: 
	
  | 
	
		
 Разница лишь в том, сколько памяти отводится под хранение числа. Чем больше, тем число точнее. 
	 | 
| Часовой пояс GMT +3, время: 03:44. |