共用方式為


Decimal、Float 和 Value 函式

適用於: 畫布應用 Dataverse 公式列 桌面流 模型驅動應用 Power Pages Power Platform CLI

將文字字串或其他類型轉換為數字。

Description

注意

Power Apps 僅支援 Value 函式,它會傳回浮點數值。 很快就會加入對 DecimalFloat 函式的支援。

使用 DecimalFloatValue 函式將包含數字字元的文字字串轉換為數值。 當您需要對使用者以文字形式輸入的數字計算時,請使用這些函式。 這些函式也可用於將其他類型轉換為數字,例如日期/時間和布林值。

Value 函式將傳回您正在使用的 Power Fx 主機的預設數字資料類型,通常是十進位,這在是大多數情況下的最佳選擇。 當您需要針對特定情境 (例如具有非常大數字的科學計算) 的特定資料類型時,請使用 DecimalFloat 函式。 有關使用這些資料類型的更多詳細資訊,請參閱資料類型的數字部分

不同語言對 ,. 有不同的解釋。 預設文字是以目前使用者的語言解讀。 您可以使用 Language 函式傳回的相同語言標記指明要對語言標記使用的語言。

字串格式的注意事項︰

  • 此字串前面可能會加上目前語言的貨幣符號。 此貨幣符號會被忽略。 不會忽略其他語言的貨幣符號。
  • 此字串結尾可能會加上百分比符號 (%),表示這是百分比。 該數字會先除以 100 再傳回。 百分比和貨幣符號不可混用。
  • 字串可能會使用科學記號標記法,將 12 x 103 表示為 "12e3"。

如果數字的格式不正確,這些函式將傳回錯誤。

若要轉換日期和時間值,請使用 DateValueTimeValueDateTimeValue 函式。

語法

十進位字串串 [, 語言標籤 ])
浮點字串串 [, 語言標籤 ])
String [, LanguageTag ])

  • string - 必需。 要轉換為數值的字串。
  • LanguageTag - 可選。 用來剖析字串的語言標記。 若未指定,系統會使用目前使用者所用的語言。

Decimal未鍵入
浮點型Untyped
無類型

  • Untyped - 必需。 表示數字的非類型化物件。 可接受的值取決於非類型化的提供者。 如果是 JSON,則非類型化物件應為 JSON 數字、布林值,或是可轉換為數字的文字。 請記住,與外部系統通訊時,需要著重考慮地區相關的格式。

範例

執行這些公式的使用者位於美國,並已選取英文做為語言。 Language 函式傳回 "en-US"。 Power Fx 主控件預設使用十進位

值和小數值

由於我們使用的主機預設為十進位十進位將會傳回相同的結果。

公式 Description Result
值(“123.456”)
十進位(“123.456”)
將使用預設語言 "en-US",其使用句點作為小數分隔符號。 123.456 (Decimal)
值(“123.456”,“es-ES”)
十進制(“123.456”,“es-ES”)
"es-ES" 是西班牙的西班牙文語言標記。 在西班牙,句點是千位分隔符號。 123456 (Decimal)
值(“123,456”)
Decimal(“123,456”)
將使用預設語言 "en-US",其使用逗號作為千位分隔符號。 123456 (Decimal)
值(“123,456”,“es-ES”)
十進制(“123,456”,“es-ES”)
"es-ES" 是西班牙的西班牙文語言標記。 在西班牙,逗號是小數分隔符號。 123.456 (Decimal)
值(“12.34%”)
Decimal (“12.34%”))
字串結尾的百分比符號表示這是百分比。 0.1234 (Decimal)
Value (“$ 12.34”))
十進制(“$ 12.34”)
目前語言的貨幣符號會被忽略。 12.34 (Decimal)
值(“24e3”)
十進位(“24e3”)
24 x 103 的科學記號標記法。 24000 (Decimal)
值(true)
十進位(true)
將布林值轉換為數字,0 表示 False ,1 表示 True 1 Decimal

自由流通股

Float 函式的結果與上面的結果非常接近。 由於 123.456 無法以 Float 精確表示,因此結果是非常接近的近似值 (123.456000000000003069544618484E2),複合捨入誤差計算可能會導致意外結果。 結果類型將為 Float

不同之處在於使用更大或更小的數字。

公式 Description Result
浮子(1e100) 由於常值數字 1e100 超出了 Decimal 的範圍,因此在呼叫 Float 函式之前會導致錯誤。 錯誤(溢出)
十進位(1e100) Float 函式相同的問題。 錯誤(溢出)
浮點型(“1e100”) 文字字串中的數字在 Float 數字範圍內。 1e100 Float
十進位(“1e100”) 文字字串中的數字在超出了 Decimal 數字的範圍。 錯誤(溢出)
浮點型 (“10000000000.0000000001”)) 文字字串中的數字在 Float 數字範圍內。 但是,該數字所需的精確度超出了 Float 所能提供的精確度,其將會被截斷。 1 (Float)
十進制 (“10000000000.0000000001”)) 文字字串中的數字在 Decimal 數字的範圍和精確度內。 10000000000.0000000001 (Decimal)