Decimal, Float 및 Value 함수
적용 대상: 캔버스 앱 Dataverse 수식 열 바탕 화면 흐름 모델 기반 앱 Power Pages Power Platform CLI
텍스트 문자열이나 기타 유형을 숫자로 변환합니다.
Description
노트
Power Apps는 Value 함수만 지원하며 Float 값을 반환합니다. Decimal 및 Float 함수에 대한 지원이 곧 추가될 예정입니다.
Decimal, Float 및 Value 함수를 사용하여 숫자 문자가 포함된 텍스트 문자열을 숫자 값으로 변환합니다. 사용자가 텍스트로 입력한 숫자에 대해 계산을 수행해야 할 경우 이러한 함수를 사용하십시오. 이러한 함수를 사용하여 다른 유형을 날짜/시간 및 부울과 같은 숫자로 변환할 수도 있습니다.
Value 함수는 사용 중인 Power Fx 호스트에 대한 기본 숫자 데이터 유형을 반환합니다. 이는 일반적으로 소수이며 대부분의 상황에 가장 적합한 선택입니다. 매우 큰 숫자를 사용하는 과학적 계산과 같이 특정 시나리오에 특정 데이터 유형이 필요한 경우 Decimal 및 Float 함수를 사용하십시오. 이러한 데이터 유형 작업에 대한 자세한 내용은 데이터 유형의 숫자 섹션을 참조하세요.
다른 언어는 , 및 ,를 다르게 해석합니다. 기본적으로 텍스트는 현재 사용자의 언어로 해석됩니다. Language 함수에서 반환하는 동일한 언어 태그를 사용하여 언어 태그로 사용할 언어를 지정할 수 있습니다.
문자열의 형식에 대한 메모:
- 문자열은 현재 언어에 대한 통화 기호를 접두사로 사용할 수 있습니다. 통화 기호는 무시됩니다. 다른 언어에 대한 통화 기호는 무시되지 않습니다.
- 문자열은 끝에 백분율 기호(%)를 포함하여 백분율임을 나타낼 수 있습니다. 숫자는 반환되기 전에 100으로 나누어집니다. 백분율 및 통화 기호를 혼합할 수 없습니다.
- 문자열은 12x103이 "12e3"으로 표시되는 과학적 표기법으로 표시될 수 있습니다.
숫자가 올바른 형식이 아닌 경우 이러한 함수는 오류를 반환합니다.
날짜 및 시간 값을 변환하려면 DateValue, TimeValue 또는 DateTimeValue 함수를 사용하십시오.
구문
십진수( 문자열 [, LanguageTag ] )
부동( 문자열 [, 언어태그 ] )
값( 문자열 [, 언어 태그 ] )
- 문자열 - 필수. 숫자 값으로 변환할 문자열입니다.
- LanguageTag - 선택 사항. 문자열을 구문 분석하는 언어 태그입니다. 지정되지 않은 경우 현재 사용자의 언어를 사용합니다.
10진수( 유형 지정 안 됨 )
플로트( 타입 지정되지 않음 )
값( 유형 지정되지 않음 )
- 유형화되지 않음 - 필수. 형식화되지 않은 개체 는 숫자를 나타냅니다. 허용되는 값은 무형식 공급자에 따라 다릅니다. JSON의 경우 형식화되지 않은 개체는 JSON 숫자, 부울 또는 숫자로 변환할 수 있는 텍스트여야 합니다. 로캘 관련 형식은 외부 시스템과 통신할 때 중요한 고려 사항입니다.
예
이러한 수식을 실행하는 사용자는 미국에 있으며 자신의 언어를 영어로 선택했습니다. Language 함수가 "en-US"를 반환하는 중입니다. Power Fx 호스트는 기본적으로 소수를 사용합니다.
Value 및 Decimal
소수가 기본값인 호스트를 사용하고 있으므로 Value 및 Decimal은 동일한 결과를 반환합니다.
수식 | Description | Result |
---|---|---|
값( "123.456" ) 10진수( "123.456" ) |
"en-US"의 기본 언어가 사용되며 소수 구분 기호로 마침표를 사용합니다. | 123.456 (Decimal) |
값( "123.456", "es-ES" ) 10진수( "123.456", "es-ES") |
"es-ES"는 스페인에서 사용되는 스페인어에 대한 언어 태그입니다. 스페인에서 마침표는 천 단위 구분 기호입니다. | 123456 (Decimal) |
값( "123,456" ) 10진수( "123,456" ) |
"en-US"의 기본 언어가 사용되며 천 단위 구분 기호로 쉼표를 사용합니다. | 123456 (Decimal) |
값( "123,456", "es-ES" ) 10진수( "123,456", "es-ES" ) |
"es-ES"는 스페인에서 사용되는 스페인어에 대한 언어 태그입니다. 스페인에서 쉼표는 소수 구분 기호입니다. | 123.456 (Decimal) |
가치( "12.34%" ) 10진수( "12.34%" ) |
문자열의 끝에 있는 백분율 기호는 백분율임을 나타냅니다. | 0.1234 (Decimal) |
가치( "$ 12.34" ) 10진수( "$ 12.34" ) |
현재 언어에 대한 통화 기호는 무시됩니다. | 12.34 (Decimal) |
값( "24e3" ) 10진수( "24e3" ) |
24x103에 대한 과학적 표기법입니다. | 24000 (Decimal) |
값(참) 10진수(참) |
부울을 숫자로 변환합니다. false는 0, true는 1입니다. | 1 Decimal |
플로트
Float 함수는 위와 거의 동일한 결과를 갖게 됩니다. 123.456은 Float에서 정확하게 표현할 수 없으므로 결과는 매우 가까운 근사치(123.456000000000003069544618484E2)이며 복합 반올림 오류 계산으로 인해 예상치 못한 결과가 발생할 수 있습니다. 결과 유형은 대신 Float가 됩니다.
상황이 달라지는 부분은 더 크거나 작은 숫자가 사용되는 경우입니다.
수식 | Description | Result |
---|---|---|
플로트( 1e100 ) | 리터럴 숫자 1e100 이 소수의 범위를 벗어났기 때문에 Float 함수를 호출하기 전에 오류가 발생합니다. |
오류(오버플로) |
10진수( 1e100 ) | Float 함수와 동일한 문제입니다. | 오류(오버플로) |
플로트( "1e100" ) | 문자열의 숫자는 Float 숫자 범위 내에 있습니다. | 1e100 Float |
10진수( "1e100" ) | 문자열의 숫자가 소수 숫자 범위를 벗어났습니다. | 오류(오버플로) |
플로트( "10000000000.0000000001" ) | 문자열의 숫자는 Float 숫자 범위 내에 있습니다. 그러나 숫자는 Float가 제공할 수 있는 것보다 더 많은 정밀도가 필요하므로 잘립니다. | 1 (Float) |
10진수( "10000000000.0000000001" ) | 텍스트 문자열의 숫자는 소수 숫자의 범위와 정밀도 내에 있습니다. | 10000000000.0000000001 (Decimal) |