PDA

Просмотр полной версии : Проверка параметра на условие "true" или "false", если параметр - строка


Squirrel
30.09.2008, 15:27
Собственно, вопрос в заголовке.

Я получаю переменную, которая является строкой и имеет одно из двух значений - "true" и "false". Я хотела бы работать с ней, как с обычным Boolean, не хотелось бы писать код вроде:
if(myVar == "true") {
//выполнить нужное мне действие.
}

Как перевести строку в Boolean?

Psycho Tiger
30.09.2008, 15:32
Оформите текст кодом.
Можно делать
var flag:Boolean=new Boolean(string);
или просто
Boolean(myVar);
А чем вас Ваш вариант не устраивает?

Squirrel
30.09.2008, 15:42
А ты попробуй:
trace(Boolean("false"));
;)

Psycho Tiger
30.09.2008, 15:54
а, ну да, туплю. Ведь "false" это true (т.к. это не пустая и не нулевая строка)

function myBoolean(str:String):Boolean{
return str=="true" ? true : false;
}
trace(myBoolean("false"));

Mur4ik
30.09.2008, 17:31
Анализируйте значение строки при получении и присваивайте результат булевой переменной, с которой потом и работайте...
Но Ваш нынешний вариант тоже вполне приемлим.

Wolsh
30.09.2008, 19:19
Я хотела бы работать с ней, как с обычным Boolean, не хотелось бы писать код вроде:
if(myVar == "true") Ну так не пишите) Во-первых, в момент когда Я получаю переменную, которая является строкой и имеет одно из двух значений - "true" и "false" можно присваивать myVar не строку а сразу булю. Например
var myVar:Boolean = result=="true" ? true : false;Или еще проще var myVar:Boolean = (result=="true");Я даже if убрал, чтоб Вам глаза не резало)))) А прямого преобразования нет.

Squirrel
01.10.2008, 20:54
Всем спасибо за ответы :)

Я думала, что есть какая-то встроенная функция, которую я не знаю, но выяснилось, что такого нет.