Порядок приведения типов в выражениях If и While

Документация по программе, ее функциям, ответы на часто возникающие вопросы.
Ответить
Аватара пользователя
Alex
Ас
Сообщения: 2833
Зарегистрирован: Вт апр 05, 2005 3:28 pm
Откуда: Kaliningrad City
Благодарил (а): 2 раза
Поблагодарили: 91 раз
Контактная информация:

Порядок приведения типов в выражениях If и While

Сообщение Alex » Вс авг 19, 2007 3:17 pm

В выражениях If и While происходит сравнение двух операндов друг с другом, назовем эти операнды правым и левым, по расположению в условии. При сравнении операнды приводятся к общему типу, самый универсальный случай - это приведение к строковому типу. В некоторых ситуациях приведение к строковому типу совсем не то, что нужно, например, при строковом сравнении 3 и 34 будет больше 34, но при сравнении 3 и 29 будет больше 3.

Если в качестве операнда используется результат выполнения действия, переменная, функция или параметр события, то xStarter может извлечь тип этого операнда. При сравнении двух операндов с разным типом приоритет будет отдаваться левому, например:

1. If [MathOperation1.Value] > 8 then
числовое сравнение, так как MathOperation1.Value - число и в правой части также число.
2. If [MathOperation1.Value] > [number] then
числовое сравнение, так как MathOperation1.Value - число и number также число.
3. If [MathOperation1.Value] > Text then
текстовое сравнение, так как Text - это текстовая величина.
1. If 8 < [MathOperation1.Value] then
текстовое сравнение, так как программа не может дать однозначного ответа является ли 8 числом и считает операнд текстовым.

Ответить