Показать сообщение отдельно
Старый 09.03.2010, 16:12
AzagThoth вне форума Посмотреть профиль Отправить личное сообщение для AzagThoth Найти все сообщения от AzagThoth
  № 4  
Ответить с цитированием
AzagThoth
 
Аватар для AzagThoth

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
А кто может на примере объяснить почему Math.floor()
Код AS1/AS2:
Math.floor()
Доступность
Flash Player 5. Во Flash Player 4 методы и свойства класса Math эмулируются при помощи приближенных вычислений и могут быть не так точны, как во Flash Player 5 и более поздних. 
 
Синтаксис
Math.floor(x:Number) : Number
 
Параметры
x Число или выражение
 
Возвращает
Округленное в меньшую сторону число x.
 
Описание
Метод; находит ближайшее к и одновременно меньшее числа x число и возвращает его.
 
Пример
Данный код вернет значение 12:
 
Math.floor(12.5);
 
Данный код вернет значение -7:
 
Math.floor(-6.5);
лучше пременять чем Math.round()
Код AS1/AS2:
Math.round()
Доступность
Flash Player 5. Во Flash Player 4 методы и свойства класса Math эмулируются при помощи приближенных вычислений и могут быть не так точны, как во Flash Player 5 и более поздних. 
 
Синтаксис
Math.round(x:Number) : Number
 
Параметры
x A number.
 
Возвращает
Целое число.
 
Описание
Метод; округляет значение x по правилам математики. Если x одинаково близок к двум целым числам (то есть, оканчивается .5), округление происходит в большую сторону.
 
Пример
В следующем примере возвращается случайное число в указанном диапазоне.
 
function randRange(min:Number, max:Number):Number {
  var randomNum:Number = Math.round(Math.random()*(max-min))+min;
  return randomNum;
}
for (var i = 0; i<25; i++) {
  trace(randRange(4, 11));
}
Ибо лично я, никак не догоняю.
Цитата:
Сообщение от etc Посмотреть сообщение
Тем, что пределы могут не совпадать с обычным random(). В частности, может достигать верхнего.
Цитата:
Сообщение от udaaff Посмотреть сообщение
Вероятность неверно распределится.
Что значит не совпадать и не верно? А как верно тогда? По моему из описания ясно видно что в одном случае когда 0.5 округление в 1, а в другом в 0. И где же тут неверность? В общем ничего не понятно. По моему эти 2 варианта совершенно равнозначны. И если мы округляем то разумеется логичнее округлять по правилам математики, а это как раз Math.round().
__________________
Играй. Это жизнь.
Всё повторяется. Играй.