2013-12-09 1 views
0

Недавно мне сообщили, что у нас появилась ошибка в сценарии, который мы собрали много лет назад.Как определить, истинна ли строка или false

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

В основном мы используем утилиту java POI для чтения в электронной таблице, и у нас появляется проблема с истинными ложными утверждениями.

<cfif Evaluate("GetobjSheet.Query.#sysArray[26][5]#")>1<cfelse>0</cfif> 

Это, как представляется, правильно работать, когда строка истинным или ложным присутствует, но иногда мы находим люди забывают, чтобы войти в стоимость.

Есть ли функция в Coldfusion, которая будет автоматически обрабатывать пустые строки или строки, которые не верят автоматически в true как false?

заранее спасибо

+4

Я бы просто сделать ' 1 '- также не использовать' evaluation() '- в наши дни он вообще не одобряется CF – duncan

+0

Вы должны сделать этот ответ @duncan. И когда вы говорите «в эти дни», вы имеете в виду «последнее десятилетие или около того, более половины срока службы ColdFusion», верно? И в этом случае я сомневаюсь, что это когда-либо было необходимо, или соответствующий способ написания этого кода. –

+0

Это не так, что 'оцените()' недоверчиво, для него есть законные варианты использования, но в этом случае он не нужен. –

ответ

1

Я бы просто сделать

<cfif len(GetobjSheet.Query[sysArray[26][5]]) AND GetobjSheet.Query[sysArray[26][5]]> 
1 
<cfelse> 
0 
</cfif> 
+1

Какова цель части, начинающейся с «и»? –

+1

@DanBracuk Условие истинно, только если выражение разрешает логическое истинное значение. Однако - согласно OP - он может иметь одно из трех состояний: true, false или null (ну: пустая строка в этом случае). –