MayConvertTo<T>

 
Группа функций для проверки возможности конвертации типа variant в какой-либо элементарный тип данных.
 
uint1 Variant.MayConvertToInt1(variant x)
uint1 Variant.MayConvertToInt2(variant x)
uint1 Variant.MayConvertToInt4(variant x)
uint1 Variant.MayConvertToInt8(variant x)
uint1 Variant.MayConvertToUint1(variant x)
uint1 Variant.MayConvertToUint2(variant x)
uint1 Variant.MayConvertToUint4(variant x)
uint1 Variant.MayConvertToUint8(variant x)
uint1 Variant.MayConvertToFloat(variant x)
uint1 Variant.MayConvertToDouble(variant x)
uint1 Variant.MayConvertToBool(variant x)
uint1 Variant.MayConvertToString(variant x)
 

Параметры

 
Параметр
Тип
Описание
x
variant
Значение, для которого будем проверять возможность конвертации
 

Возвращаемое значение

 
Тип – uint1.
 
0х00 (MAY_CONVERTED) – конвертация возможна.
0x80 (CAN_NOT_CONVERTED) – конвертация невозможна.
0х01 (MAY_CONVERTED_WITH_LOSS) – возможна конвертация с потерей точности.
0х02 (MAY_CONVERTED_WITH_CUT) – возможна конвертация с обрезкой.
 
Если одновременно возможна конвертация с обрезкой и потерей точности, то вернется 0х02 – возможна конвертация с обрезкой.

Примеры

 
//Проверяем, можно ли конвертировать значение в int1
V1: variant = 128;
ResultConvert: uint1 = Variant.MayConvertToInt1(V1); // Результат: 0x02 – возможна конвертация с обрезкой (до 127)
 
//Проверяем, можно ли конвертировать значение в int1:
V2: variant = 999.089f;
ResultConvert: uint1 = Variant.MayConvertToInt1(V2);//Результат: 0х01 - возможна конвертация с потерей точности (до 100)
 
//Проверяем, можно ли конвертировать значение в string
V3: variant = "Моя строка";
ResultConvert: uint1 = Variant.MayConvertToString(V3);
// Результат: 0х00 - конвертация возможна
 
//Проверяем, можно ли конвертировать значение в uint1:
V3: variant = "Моя строка";
ResultConvert: uint1 = Variant.MayConvertToUint1(V3);// Результат: 0x80 – конвертация невозможна (строку нельзя конвертировать в число)
 
//Проверяем, можно ли конвертировать значение в bool
V4: variant = true;
ResultConvert: uint1 = Variant.MayConvertToBool(V4); // Результат: 0х00 – конвертация возможна