Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как получить из строки цифру (http://www.flasher.ru/forum/showthread.php?t=104861)

bmg 04.12.2007 01:45

Как получить из строки цифру
 
Как правильно(если это возможно в AS 2), получить из строки цифру
(с которой в дальнейшем можно делать математические вычисления)?

Если не возможно, то как все-таки поступить?
Данные приходят в виде строки, их надо вычленять и складывать.

Вот как делаю(точнее пытаюсь), я:
Код:

//Приходит строка в виде:
Datas = "REPLY 0 45";
//где надо выбрать 45 и сложить с другой цифрой, допстим с 88
// у меня постоянно выходит 4588,
// а требуется получить их сумму, то есть 133

//рабиваю строку на масив
var my_array:Array = Data.split("REPLY 0 ");

//пытаюсь сложить
trace(my_array[1] + 88);

//так тоже ничего не выходит :(
var rrr:Number = 0 + my_array[1];


DarkLight 04.12.2007 01:54

У Вас вытаскивается строковое значение, надо его преобразовать в число. Перед сложением, используйте parseInt/parseFloat или Number(строка)

wvxvw 04.12.2007 03:38

В дополнение: В АС2 конвертация типов происходит автоматически, т.е. при попытке произвести действие со строкой не предусмотренное ее типом, будет выполнена конвертация.
Пример:
Код:

trace("1.5"/1+1); // 2.5

DarkLight 04.12.2007 04:14

...но все-таки этим лучше не пользоваться, и принудительно конвертировать в число, во избежание лишних ошибок.

wvxvw 04.12.2007 04:44

А чем это принципиально отличается от
Код:

var i:Number=10;
var _arr:Array = [];
while(i){// а не Boolean(i)
_arr.push("element"+i);
// вот, точно то же самое,
//только в обратную сторону =)
// _arr.push("element"+i.toString(10)); Ну не писать же так ;)
i--;
}


bmg 04.12.2007 11:28

Огромное спасибо!

А не подскажит ли сообщество как конвертнуть строку 0001(или 0001 1111)
в бинарные данные?

Не сочтите это за наглость.

Сейчас передаю как строку, что не удобно.

CrazyFlasher 04.12.2007 11:30

зачем конвертить бинарное число в бинарное? =)

bmg 04.12.2007 11:38

потому что это не число а строка: "0001"(или "0001 1111")

А требуется посылать что то типа: vars = 1(или 1F);

CrazyFlasher 04.12.2007 11:57

в АС оперировать с Number вы можете переведя его либо в 10-ую, либо в 16-ую систему

bmg 04.12.2007 12:03

а как это сделать?


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

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