Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не правильно работает округление, на некоторых числах 
:(
    Опции темы
Тутанхамец
Дата 15.11.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: нет
Всего: 6



Здравствуйте. Догадываюсь, что вопрос ламерский, но поиск по инету ничего не дал. Мне надо округлять число до четвертого знака после запятой. Использую такой код:

Код

    public static function round (nNumber:Number, nRoundToInterval:Number = 1):Number
            {

                return Math.round(nNumber / nRoundToInterval) * nRoundToInterval;
            }
....


tr.text=String(round(8.0080,0.0001));



С удивлением наблюдаю в метке tr что-то вроде 8.008000000000000000001.

Функция возвращает число с хвостом, если передать ей число с нулем на конце или в котором цифр после запятой меньше, чем 4. 

Нужно округлять правильно. Как быть? 

Это сообщение отредактировал(а) Тутанхамец - 15.11.2011, 17:32
PM MAIL   Вверх
Тутанхамец
Дата 15.11.2011, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: нет
Всего: 6



Осенило:
Код

    public static function round (nNumber:Number, nRoundToInterval:Number = 1,nZeroCut:Number=4):Number
            {
                var c:Number;
                
                // Return the result
                c=Math.round(nNumber / nRoundToInterval) * nRoundToInterval;
                c=Number(c.toFixed(nZeroCut));
                return c;
            }
            

Так работает. Но средство дурацкое. Если кто-то подскажет более правильный вариант да еще и объяснит, почему происходит такая проблема, буду благодарен. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0376 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.