Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Number() - как Фууууункция (http://www.flasher.ru/forum/showthread.php?t=43949)

УильямБрэдберри 14.03.2003 17:41

Number() - как Фууууункция
 
сунулся тут сегодня примерчик накидать

примерчик должен был превратить строку вида "123" в шестизначную строку "000123"

ну все просто, состряпал цикл, который проверяет длину строки и прибавляет нули к началу...

все просто, да как оказалось не так все гладко.

используем простую функцию

Number("017");

в результате, по идее нам должно вернуться число "17";

ан нет...

вернется нам "15";
из 010 мы получим 8
из 0011 получим 9 и так далее до 18
а вот из 00018 мы получим 18

в завершение такой хитрый примерчик
чему по идее равно
Number("2000") ?

правильный ответ 2000

а вот чему в таком случае равно Number("002000"); ?

хе хе хе...

ЗЫ: кстати лечится это просто...
но вот репа чешется

llllllllll 14.03.2003 17:50

trace(Number("0x8")); // Hex
trace(Number("010")); // Oct
trace(Number("8")); // Dec

- по твоему что то не так?

Дениска 14.03.2003 17:55

Integers beginning with 0 or specifying a radix of 8 are interpreted as octal numbers. Strings beginning with 0x are interpreted as hexadecimal numbers. White space preceding valid integers is ignored, as are trailing nonnumeric characters.

lexass 14.03.2003 17:58

2УильямБрэдберри
 
пора назад в 5-ку ;) :D

УильямБрэдберри 14.03.2003 18:26

о как все просто оказалось =)

Nox Noctis 14.03.2003 18:29

gotcha ! :)))

зы: кстати, зачем цикл тебе там понадобился ? :) не понимаю....

TTS 14.03.2003 18:36

Наверно, просто прикалывается.
Щас я тоже приколюсь.

УильямБрэдберри 14.03.2003 19:48

Цитата:

Оригинал написал(а) Nox Noctis
gotcha ! :)))

зы: кстати, зачем цикл тебе там понадобился ? :) не понимаю....

а проще всего так было =)

потом укоротил немного

_string = "012345";
F_inc = function (a, b) {
result = parseInt(a, 10)+b;
a = a.substring(0, a.length-String(result).length)+result;
return a;
};

var x = 1;
trace(F_inc(_string,x));

Nox Noctis 15.03.2003 18:04

эмм... может я не понял что нужно было сделать ? :) просто добавить leading zeros ?
тогда _string должна быть равна "000000" :))
либо ты опечатался, либо я не понял о чем речь, либо одно из двух...

Useless 15.03.2003 18:23

Инкремент строки с лидинг зирос. Только что-то есть у меня сомнения, что она правильно работает...

Useless 15.03.2003 18:28

Проверил. Беру свои слова назад.

УильямБрэдберри 16.03.2003 23:19

Цитата:

Оригинал написал(а) Nox Noctis
эмм... может я не понял что нужно было сделать ? ...
либо ты опечатался, либо я не понял о чем речь, либо одно из двух...

... да, наверное.

просто привык унифицировать...

там не обязательно 6 знаков...
может и 5 и 10 быть, мало ли кому ка нраицца... :)


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

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