Decimal, Float 및 Value 함수

적용 대상: 캔버스 앱 Dataverse 수식 열 데스크톱 흐름 모델 기반 앱 Power Platform CLI

텍스트 문자열이나 기타 유형을 숫자로 변환합니다.

Description

노트

Power Apps는 Value 함수만 지원하며 Float 값을 반환합니다. DecimalFloat 함수에 대한 지원이 곧 추가될 예정입니다.

Decimal, FloatValue 함수를 사용하여 숫자 문자가 포함된 텍스트 문자열을 숫자 값으로 변환합니다. 사용자가 텍스트로 입력한 숫자에 대해 계산을 수행해야 할 경우 이러한 함수를 사용하십시오. 이러한 함수를 사용하여 다른 유형을 날짜/시간 및 부울과 같은 숫자로 변환할 수도 있습니다.

Value 함수는 사용 중인 Power Fx 호스트에 대한 기본 숫자 데이터 유형을 반환합니다. 이는 일반적으로 소수이며 대부분의 상황에 가장 적합한 선택입니다. 매우 큰 숫자를 사용하는 과학적 계산과 같이 특정 시나리오에 특정 데이터 유형이 필요한 경우 DecimalFloat 함수를 사용하십시오. 이러한 데이터 유형 작업에 대한 자세한 내용은 데이터 유형의 숫자 섹션을 참조하세요.

다른 언어는 ,,를 다르게 해석합니다. 기본적으로 텍스트는 현재 사용자의 언어로 해석됩니다. Language 함수에서 반환하는 동일한 언어 태그를 사용하여 언어 태그로 사용할 언어를 지정할 수 있습니다.

문자열의 형식에 대한 메모:

  • 문자열은 현재 언어에 대한 통화 기호를 접두사로 사용할 수 있습니다. 통화 기호는 무시됩니다. 다른 언어에 대한 통화 기호는 무시되지 않습니다.
  • 문자열은 끝에 백분율 기호(%)를 포함하여 백분율임을 나타낼 수 있습니다. 숫자는 반환되기 전에 100으로 나누어집니다. 백분율 및 통화 기호를 혼합할 수 없습니다.
  • 문자열은 12x103이 "12e3"으로 표시되는 과학적 표기법으로 표시될 수 있습니다.

숫자가 올바른 형식이 아닌 경우 이러한 함수는 오류를 반환합니다.

날짜 및 시간 값을 변환하려면 DateValue, TimeValue 또는 DateTimeValue 함수를 사용하십시오.

구문

Decimal( 문자열 [, LanguageTag ] )
Float( 문자열 [, LanguageTag ] )
Value( String [, LanguageTag ] )

  • String - 필수 항목입니다. 숫자 값으로 변환할 문자열입니다.
  • LanguageTag - 선택 항목입니다. 문자열을 구문 분석하는 언어 태그입니다. 지정되지 않은 경우 현재 사용자의 언어를 사용합니다.

Decimal( Untyped )
Float( Untyped )
Value( 무형식 )

  • Untyped - 필수 항목입니다. 무형식 개체로, 숫자를 나타냅니다. 허용되는 값은 무형식 공급자에 따라 다릅니다. JSON의 경우 형식화되지 않은 개체는 JSON 숫자, 부울 또는 숫자로 변환할 수 있는 텍스트여야 합니다. 로캘 관련 형식은 외부 시스템과 통신할 때 중요한 고려 사항입니다.

이러한 수식을 실행하는 사용자는 미국에 있으며 자신의 언어를 영어로 선택했습니다. Language 함수가 "en-US"를 반환하는 중입니다. Power Fx 호스트는 기본적으로 소수를 사용합니다.

Value 및 Decimal

소수가 기본값인 호스트를 사용하고 있으므로 ValueDecimal은 동일한 결과를 반환합니다.

수식 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" )
24x103에 대한 과학적 표기법입니다. 24000 (Decimal)
Value( true )
Decimal( true )
부울을 숫자로 변환합니다. false는 0, true는 1입니다. 1 Decimal

플로트

Float 함수는 위와 거의 동일한 결과를 갖게 됩니다. 123.456은 Float에서 정확하게 표현할 수 없으므로 결과는 매우 가까운 근사치(123.456000000000003069544618484E2)이며 복합 반올림 오류 계산으로 인해 예상치 못한 결과가 발생할 수 있습니다. 결과 유형은 대신 Float가 됩니다.

상황이 달라지는 부분은 더 크거나 작은 숫자가 사용되는 경우입니다.

수식 Description Result
Float( 1e100 ) 리터럴 숫자 1e100소수의 범위를 벗어났기 때문에 Float 함수를 호출하기 전에 오류가 발생합니다. 오류(오버플로)
Decimal( 1e100 ) Float 함수와 동일한 문제입니다. 오류(오버플로)
Float( "1e100" ) 문자열의 숫자는 Float 숫자 범위 내에 있습니다. 1e100 Float
Decimal( "1e100" ) 문자열의 숫자가 소수 숫자 범위를 벗어났습니다. 오류(오버플로)
Float( "10000000000.0000000001" ) 문자열의 숫자는 Float 숫자 범위 내에 있습니다. 그러나 숫자는 Float가 제공할 수 있는 것보다 더 많은 정밀도가 필요하므로 잘립니다. 1 (Float)
Decimal( "10000000000.0000000001" ) 텍스트 문자열의 숫자는 소수 숫자의 범위와 정밀도 내에 있습니다. 10000000000.0000000001 (Decimal)