Показать сообщение отдельно
Старый 21.03.2007, 15:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
function x (a:Number, b:Number):Number {
	var m:Number = Math.max (String (a).split (".")[1].length, String (a).split (".")[1].length) + 1;
	if (isNaN (m)) {
		m = 1;
	}
	var s:Number = Math.pow (10, m);
	return (a * s - b * s) / s;
}
w = 20.15 - 20;
trace (w);
trace (x (w, 0.04));
trace (x (20.15, 20));
trace (x (.15, 0));
trace (x (2, 1));
Обратите внимание на результат синего трейса
Я так понимаю, все равно нужно округлять, даже после умножения числа на 10 в степени N.
__________________
(и)Нильс.ru | Плагины для FlashDevelop