Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Округление дробей (http://www.flasher.ru/forum/showthread.php?t=133128)

PRosTo_LEva 27.11.2009 18:23

Округление дробей
 
Есть задача округлить десятичную дробь до 22 знака после запятой. Есть ли варианты сея действия?:o

Zik. 27.11.2009 18:34

ну наверно так
Код AS1/AS2:

var a:Number = //число
a *= 10000000000000000000000;
Math.round(a);
a /= 10000000000000000000000;


PRosTo_LEva 27.11.2009 18:47

У меня получается в результате вычислений вот такое вот число :( как его округлить?

Код AS3:

8.333333333333335e-7


xpymbl4 27.11.2009 18:52

У меня кстати тоже не получилось вывести в trace или в текстовое поле более 16 знаков числа Number.

Zik. 27.11.2009 18:55

Ну тогда не судьба)))

VVall 27.11.2009 19:17

22 знака - слишком высокая точность.

Цитата:

Double precision floating point provides a relative precision of about 16 decimal digits and magnitude range from about 10-308 to about 10+308.

PRosTo_LEva 27.11.2009 20:00

Ладно, с 16 знаками еще можно смириться. Но вот как быть именно с той дробью которая заканчивается буквенным значением?

DarkLight 27.11.2009 20:06

если нужно вывести куда-то в визуально нормальном виде то toFixed в помощь

PRosTo_LEva 27.11.2009 20:12

Нет, нужно добавить это значение к текущему времени и вывести в нормальном стандарте.

при прибавлении подобной дроби возникают нереальные даты

fessor 28.11.2009 14:48

самое простое что смог придумать:
Код AS1/AS2:

x=Math.floor(x*100000000000000)/100000000000000



Часовой пояс GMT +4, время: 08:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.