Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
| Functions | Применимо к |
|---|---|
| Decimal Float |
|
| Value |
|
Преобразует строку текста или других типов в число.
Description
Заметка
Power Apps поддерживает Value только функцию и возвращает Float значение. Decimal Float Поддержка функций и функций будет добавлена в ближайшее время.
Decimal FloatИспользуйте функции и Value функции для преобразования строки текста, содержащей числовые символы в числовое значение. Эти функции используется, когда требуется выполнять вычисления с числами, введенными пользователем в виде текста. Эти функции также можно использовать для преобразования других типов в числа, например даты/времени и логического значения.
Функция Value возвращает числовой тип данных по умолчанию для используемого узла Power Fx, который обычно Decimal подходит для большинства ситуаций. Decimal Используйте функции, Float когда требуется определенный тип данных для определенного сценария, например научное вычисление с очень большим числом. Дополнительные сведения о работе с этими типами данных см. в разделе "Числа" в типах данных.
Разные языки по-разному интерпретируют знаки , и .. По умолчанию текст интерпретируется на языке текущего пользователя. Можно указать используемый язык с помощью тега языка, значение которого можно получить вызовом функции Language.
Примечания к формату строки:
- Строка может начинаться с символа валюты для текущего языка. Такой символ валюты игнорируется. Символы валют для других языков не игнорируются.
- Строка может содержать знак процента (%) в конце, который означает, что значение указано в процентах. В этом случае перед возвращением число будет разделено на 100. Проценты и символы валют сочетать невозможно.
- Строка может быть записана в экспоненциальном формате, когда 12 x 103 выражается как "12e3".
Если число имеет неправильный формат, эти функции вернут ошибку.
Для преобразования значений даты и времени используйте функции DateValue, TimeValue или DateTimeValue.
Синтаксис
Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )
- Строка - Обязательно. Строка для преобразования в числовое значение.
- LanguageTag - Необязательно. Тег языка, для которого будет проводиться анализ строки. Если тег не указан, используется язык текущего пользователя.
Decimal( Динамический )
Float( Динамический )
Value( Динамический )
- Динамический — обязательный. Динамическое значение, представляющее число. Допустимые значения зависят от нетипизированного поставщика. Для JSON динамическое значение, как ожидается, будет числом JSON, логическим или текстом, который можно преобразовать в число. Имейте в виду, что форматы, связанные с языковым стандартом, являются важными факторами при обмене данными с внешними системами.
Примеры
Пользователь, выполняющий эти формулы, находится в США и использует английский язык. Функция Language возвращает значение "en-US". Узел Power Fx используется Decimal по умолчанию.
Value и Decimal.
Так как мы используем узел, имеющий Decimal значение по умолчанию, Value и Decimal вернет те же результаты.
| Формула | Description | Result |
|---|---|---|
|
Value( "123.456" ) Decimal( "123.456" ) |
По умолчанию будет использоваться язык "en-US", в котором десятичный разделитель — точка. | 123.456 (Decimal) |
|
Value( "123.456", "es-ES" ) Decimal( "123.456", "es-ES" ) |
"es-ES" — тег для испанского языка в Испании. В Испании точка используется для отделения тысяч. | 123456 (Decimal) |
|
Value( "123,456" ) Decimal( "123,456" ) |
По умолчанию будет использоваться язык "en-US", в котором разделитель тысяч — запятая. | 123456 (Decimal) |
|
Value( "123 456", "es-ES" ) ) Decimal( "123 456", "es-ES" ) ) |
"es-ES" — тег для испанского языка в Испании. В Испании десятичным разделителем является запятая. | 123.456 (Decimal) |
|
Value( "12.34%" ) Decimal( "12.34%" ) |
Знак процента в конце строки указывает, что это значение в процентах. | 0.1234 (Decimal) |
|
Value( "$ 12,34" ) Decimal( "$ 12,34" ) |
Символ валюты для текущего языка не учитывается. | 12.34 (Decimal) |
|
Value( "24e3" ) Decimal( "24e3" ) |
Экспоненциальное представление числа 24 x 103. | 24000 (Decimal) |
|
Value(true) Decimal(true) |
Преобразует логическое значение в число: 0 для false и 1 для true | 1 Decimal |
Float
Функция Float будет иметь очень близко к тем же результатам, что и выше. Так как 123.456 не может быть точно представлено Floatв, результатом является приближение, которое очень близко (123.456000000000000000000000306944184E2) и составные вычисления округления могут привести к неожиданному результату. Результирующий тип будет Float вместо него.
Ситуация расходится, если используются большие или меньшие числа.
| Формула | Description | Result |
|---|---|---|
| Float( 1e100 ) | Так как литеральное число 1e100 выходит за пределы диапазона Decimal, это приводит к ошибке, прежде чем когда-либо вызывать функцию Float . |
ошибка (переполнение) |
| Decimal( 1e100 ) | Та же проблема, что и с функцией Float . | ошибка (переполнение) |
| Float( "1e100" ) | Число в текстовой строке находится в диапазоне Float чисел. | 1e100 Float |
| Decimal( "1e100" ) | Число в текстовой строке выходит за пределы диапазона Decimal чисел. | ошибка (переполнение) |
| Float( "10000000000.0000000001" ) | Число в текстовой строке находится в диапазоне Float чисел. Однако число требует большей точности, чем Float может обеспечить и будет усечено. | 1 (Float) |
| Decimal( "10000000000.0000000001" ) | Число в текстовой строке находится как в диапазоне, так и в точности Decimal чисел. | 10000000000000.0000000001 (Decimal) |