Просмотр полной версии : Проверка параметра на условие "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"));
Анализируйте значение строки при получении и присваивайте результат булевой переменной, с которой потом и работайте...
Но Ваш нынешний вариант тоже вполне приемлим.
Я хотела бы работать с ней, как с обычным 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
Всем спасибо за ответы :)
Я думала, что есть какая-то встроенная функция, которую я не знаю, но выяснилось, что такого нет.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.