共用方式為


Text 函式

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

轉換任何值並將數字或日期/時間值格式化為文字字串。

描述

Text 函式會根據以下其中一種引數設定數字或日期/時間值的格式:

  • 預先定義的日期/時間格式,需使用 DateTimeFormat 列舉指定。 建議針對日期與時間使用此方法,因為它會自動調整每個使用者的語言與區域。
  • 自訂格式包含定義的預留位置字串,例如數字是否顯示小數點分隔符號和日期,會將月、月份顯示為縮寫或是將月份指定為數字。 Power Apps 支援 Microsoft Excel 的預留位置子集。 在這個字串中,語言預留位置指定解釋其他預留位置的語言。 如果自訂格式包括句號 (例如語言格式預留位置),則指定期間是否為小數點分隔符號 (ja-JP) 或千分位分隔符號 (es-ES)。

請參閱 處理日期和時間 以取得詳細資訊。

Text 函式也可以使用預設格式將任何資料類型轉換成文字表示。 使用此類型可將非文字值傳遞至文本功能,例如 LenRightIsMatch

預先定義的日期/時間格式

在這些範例中,使用的日期和時間是在 [時區] UTC-7 小時的 2020 年四月 7 日星期二 8:26:59.180 PM。

DateTimeFormat enum 描述 範例 (使用 en-US)
LongDate 系列 四位數年、月份名稱、月份日期及星期幾。 月份名稱及星期幾不會縮寫。 "星期二,2020 年四月 7 日"
LongDateTime(長日期時間) 四位數年、月份名稱、月份日期及星期幾,加上小時 (12 小時制)、分、秒及 AM/PM 表示法。 月份名稱及星期幾不會縮寫。 "星期二,2020 年四月 7 日 8:26:59 PM"
LongDateTime24 四位數年、月份名稱、月份日期及星期幾,加上小時 (24 小時制)、分及秒。 月份名稱及星期幾不會縮寫。 "星期二,2020 年四月 7 日 20:26:59"
長期 小時 (12 小時制)、分、秒和 AM/PM 表示法。 "8:26:59 PM"
朗時 24 小時 (24 小時制)、分、秒。 "20:26:59"
ShortDate 四位數年份含數字月份與月份日期。 "4/7/2020"
短日期時間 四位數年份含數字月份與月份日期,加上小時 (12 小時制)、分、秒和 AM/PM 表示法。 "4/7/2020 8:26 PM"
短日期時間 24 四位數年份含數字月份與月份日期,加上小時 (24 小時制) 和分鐘。 "4/7/2020 20:26"
短時間 小時 (12 小時制)、分和 AM/PM 表示法。 "8:26 PM"
短時間 24 小時 (24 小時制) 和分。 "20:26"
UTC(世界標準時間) 將日期/時間值轉換為目前使用者的時區 UTC,並根據 ISO 8601 標準設定格式。 "2020-04-08T03:26:59.180Z"

數字預留位置

預留位置 描述
0 如果數字的位數少於格式中零的數目,則顯示無意義的零。 例如,如果您要將 8.9 顯示成 8.90,請使用格式 #.00
# 遵循與 0 (零) 相同的規則。 但是,如果數字小數點任一側的位數少於格式中的 # 符號數目,則 Text 不傳回多餘的零。 例如,如果自訂格式為 #.##,而要設定格式的數字為 8.9,則會顯示 8.9
(period) 顯示數字的小數點。 視自訂格式的語言而定,請參閱 全球應用程式 以取得詳細資料。
逗號 顯示數字中的千位分隔符號,通常用於千位數。 如果格式包含由數字符號 ( ) 或 0 括起來的逗號,則文字#用逗號分隔組。 視自訂格式的語言而定,請參閱 全球應用程式 以取得詳細資料。

如果某數字的小數點右側位數比格式中的預留位置多,則數字會四捨五入成與預留位置一樣多的小數位數。 如果小數點左側的位數比預留位置多,將顯示多餘的位數。 如果格式只包含小數點左側的井號 (#),則 1 以下數字的開頭將為小數點為 (例如 .47)。

日期與時間預留位置

預留位置 描述
m 以無前置零的數字顯示月份。
毫米 依適當情況將月份顯示為有前置零的數字。
顯示月份縮寫 (JanDec)。
顯示月份全名 (JanuaryDecember)。
d 以無前置零的數字顯示月份日期。
DD 依適當情況以有前置零的數字顯示月份日期。
DDD 顯示星期幾縮寫 (SunSat)。
dddd 顯示星期幾全名 (SundaySaturday)。
yy 以兩位數數字顯示年份。
yyyy 以四位數數字顯示年份。
h 以無前置零的數字顯示小時。
HH 視需要以有前置零的數字顯示小時。 如果格式包含 AMPM,將以 12 小時制顯示小時。 否則,會以 24 小時制顯示小時。
m 以無前置零的數字顯示分鐘。

此預留位置必須緊接在 hhh 代碼之後或緊接在 ss 代碼之前;否則,Text 會傳回月份,不會傳回分鐘。
毫米 依適當情況以有前置零的數字顯示分鐘。

此預留位置必須緊接在 hhh 預留位置之後或緊接在 ss 預留位置之前。 否則,Text 會傳回月份而非分鐘。
s 以無前置零的數字顯示秒。
SS 依適當情況以有前置零的數字顯示秒。
f 以分數顯示秒。
上午/下午a/p 以 12 小時制顯示小時。 文本 返回「AM」或「a」表示從午夜到中午的時間,返回「PM」或「p」表示從中午到午夜的時間

常值預留位置

您可以在格式字串中加入下列任一字元。 這些字元會以原樣出現在 Text 的結果中。 另外保留其他字元做為日後的預留位置,請勿使用這些字元。

字元 描述
所有貨幣符號 美元符號、一分錢符號、歐元符號等
+ 加號
( 左括弧
: 冒號
^ 抑揚音符號 (插入號)
' 單引號
{ 左大括弧
< 小於符號
= 等號
- 減號
/ 斜線符號
) 右括弧
& 符號
~ 波狀符號
} 右大括弧
> 大於符號
  空白字元

全域應用程式

Text 函式可全域感知。 該函式知道如何正確寫出各種語言的日期、時間、貨幣和數字。 為了作業,此函式需要兩種資訊:

  • 定製格式的語言: 對於製作者來說,應該如何解讀定製格式? 分隔符號字元 (.,) 在不同的語言中有不同的意義。 如果您指定自訂格式,則可以包含語言預留位置或採用預設值,這會反映裝置所設定的語言。 更容易一點,您可以使用其中一種 預定義的日期/時間格式,這種格式不限語言。
  • 結果的語言: 對於使用者,函數結果應該以什麼語言顯示? 月份與平日名稱必須為應用程式使用者的適當語言,您可以將第三個非必要引數新增至 Text 函式指定。

這兩者中,您可以使用 語言標記 來指定語言。 若要查看支援語言標記清單,請在公式列或右側窗格的 Advanced 索引標籤中鍵入 Text( 1234, "", ),然後捲動針對第三個引數建議的地區設定清單。

語言預留位置

若要指定自訂格式的語言,請使用︰

預留位置 描述
[$-LanguageTag] LanguageTag 是從 Language 函數返回的語言 標記。 它可以只指明語言 (如 [$-en] 代表英文),或者也可以指明區域 (如 [$-en-GB] 進一步指定大英帝國)。

語言預留位置可以出現在自訂格式中的任何一處,但只能出現一次。

如果指定的自訂格式不含語言預留位置,且格式不明確,則會自動插入目前語言的語言標記。

[$-zh-US] 如果應用程式運行時此佔位元不存在,則假定為此佔位元。

Note

在未來版本中,此預留位置的語法可能會變更,以防與 Excel 支援的類似 (但不同) 預留位置混淆。

結果語言標記

Text 結果包括月份、平日和 AM/PM 表示的翻譯字串,以及適當的群組與小數分隔符號。

根據預設,Text 會使用執行該應用程式之使用者的語言。 Language 函式會傳回目前使用者慣用語言的語言標記。 您可以將第三個引數的語言標記提供給 Text,來覆寫此預設值。

語法

文本NumberOrDateTime,DateTimeFormatEnum [, ResultLanguageTag ])

  • NumberOrDateTime - 必需。 要格式化的數字或日期/時間值。
  • DateTimeFormat- 必需。 DateTimeFormat 列舉的成員。
  • ResultLanguageTag - 可選。 針對結果文字使用的語言標記。 根據預設,會使用目前使用者的語言。

文本NumberOrDateTime,CustomFormat [, ResultLanguageTag ])

  • Number - 必填。 要格式化的數字或日期/時間值。
  • CustomFormat - 必需。 以雙引號括住的一個或多個預留位置。
  • ResultLanguageTag - 可選。 針對結果文字使用的語言標記。 根據預設,會使用目前使用者的語言。

文字任意值

  • AnyValue - 必需。 轉換為文字表示的值。 使用預設格式。

文字 ( 未鍵入 )

  • Untyped - 必需。 表示字串的非類型化物件。 可接受的值取決於非類型化的提供者。 對於 JSON。如果非類型化物件是數字或布林值,則此物件會轉換成文字。

範例

除非另行指定,否則執行這些公式的使用者位於美國,並已選取英文做為語言。 Language 函式傳回 "en-US"。

號碼

公式 描述 結果
Text( 1234.59, "####.#" ) 格式化含有一個小數位數的數字。 "1234.6"
文字(8.9,“#.000”) 視需要在後方以零填補該數字的小數部分。 "8.900"
文字(0.631,“0.#”) 視需要在開頭以零填補該數字的整數部分。 "0.6"
文字(12,“#.0#”)
文本(1234.568,“#.0#”)
以零填補有一個小數位數之數字的小數部分,並加第二個小數位數 (若有提供)。 "12.0"
"1234.57"
Text(12000,“$ #,###”)
文本(1200000,“$ #,###”)
每三位數即放置一個千分位分隔符號,並包含貨幣符號。 "$ 12,000"
"$ 1,200,000"

日期/時間

  • 2015 年 11 月 23 日星期一2:37:47 PM
  • 美國太平洋時區 (UTC-8)
公式 描述 結果
文字 (Now(),DateTimeFormat.LongDate) 以目前使用者的語言與地區設定將格式設定為完整日期字串。 "星期一,2015 年十一月 23 日"
文字 (Now(),DateTimeFormat.LongDateTime) 以目前使用者的語言與地區設定將格式設定為使用 12 小時制的完整日期與時間字串。 "星期一,2015 年十一月 23 日 2:37:47 PM"
文字 (Now()),DateTimeFormat.LongTime24) 將格式設定為 24 小時制的完整時間字串。 "14:37:47"
文字 (Now(),DateTimeFormat.ShortDate) 以目前使用者的語言與地區設定將格式設定為簡短日期字串。 "11/23/2015"
文字 (Now(),“d-mmm-yy”) 使用預留位置字元的格式︰
  • d 表示該月的個位數或兩位數日期
  • - 作為文字字元複製到結果
  • mmm 表示月份的三個字母縮寫
  • - 作為複製到結果的另一個文字字元
  • yy 表示年份的兩位數縮寫
"23-Nov-15"
Text(1448318857*1000, "mmm. dd, yyyy (hh:mm:ss AM/PM)") 若將來源值乘以 1000,則會以人類可讀格式顯示 Unix 日期時間值。 "Nov. 23, 2015 (02:47:37 PM)"

全域應用程式

公式 描述 結果
文本(1234567.89,“[$-fr-FR]# ###,## €”,“fr-FR”) 將空格顯示為分組分隔符,將逗號顯示為小數點分隔符,並 顯示為貨幣符號。 “1 234 567,89 €”
文本(1234567,89;“[$-fr-FR]# ###,## €”) 如果來源資料遵循法語自訂,使用逗點做為小數點分隔符號,您必須將區域設定變更為法文,並以分號 (而不是逗點) 將參數隔開,以得到與上述相同的結果。 “1 234 567,89 €”
文字 (Date(2016,1,31),“dddd mmmm d”) 以目前使用者的語言傳回工作日、月份及月份日期。 由於沒有任何預留位置與語言相關,因此不需要格式文字語言標記的預留位置。 "Sunday January 31"
文字 (Date(2016,1,31),“dddd mmmm d”,“es-ES”) 以 "es-ES" 語言傳回工作日、月份及月份日期。 "domingo enero 31"

將值轉換成文字

公式 描述 結果
文字(1234567.89) 將數字轉換為字串。 在小數點分隔符號之前或之後不可以有千位分隔符號或控制項數。如需更多控制,請將數位預留位置當做第二個引數提供。 "1234567.89"
text (DateTimeValue(“01/04/2003”)) 將日期/時間值轉換為文字的字串。 若要控制轉換,請提供 DateTimeFormat 枚舉的成員或自訂格式字串。 "1/4/2003 12:00 AM"
文字(true) 將布林值轉換為字串。 "true"
文字 (GUID()) 將產生的 GUID 值轉換為字串。 "f8b10550-0f12-4f08-9aa3-bb10958bc3ff"
左 (文字(GUID()),4) 傳回產生的 GUID 前四個字元。 "2d9c"