Форум 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=174752)

gait 01.02.2012 18:52

Округление до единицы
 
Приветствую, коллеги!
Есть функция, округляющая число в пределах разумного (int.MAX_VALUE) до 1 или -1. Но как-то эти кривовато и неизящно у меня получилось. Может есть способ получше?

Код AS3:

private function roundToOne(value:Number):Number 
{
        if (value >= 0)
                return Math.ceil(value / int.MAX_VALUE);
        else
                return Math.floor(value / int.MAX_VALUE);
}
 
trace(roundToOne(20000)); //1
trace(roundToOne(-55000)); //-1


iNils 01.02.2012 18:54

Мммм... а в чем смысл? Получить 1 или -1 из любого числа?

gait 01.02.2012 18:54

Совершенно верно!

GBee 01.02.2012 18:56

Код AS3:

private function roundToOne(value:Number):Number 
{
    return value<0 ? -1 : 1;
}


DaFive 01.02.2012 18:57

А чем это будет отличаться от:
Код AS3:

return value < 0 ? -1: 1;

?

GBee, опередил.

gait 01.02.2012 18:57

Какой же я тупой. Спасибо!

Stitch512 01.02.2012 19:00

а почему нельзя просто
Код AS3:

value / Math.abs(value);

как бы, если число > 0 то оно в любом случае ближе к "1" чем к "-1", и наоборот...

Добавлено через 56 секунд
PS. не заметил что уже ответили, ну да ладно.


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

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