Text 函式
適用於: 畫布應用 畫布應用 Dataverse 公式列 模型驅動應用 Power Pages Power Platform CLI
轉換任何值並將數字或日期/時間值格式化為文字字串。
描述
Text 函式會根據以下其中一種引數設定數字或日期/時間值的格式:
- 預先定義的日期/時間格式,需使用 DateTimeFormat 列舉指定。 建議針對日期與時間使用此方法,因為它會自動調整每個使用者的語言與區域。
- 自訂格式包含定義的預留位置字串,例如數字是否顯示小數點分隔符號和日期,會將月、月份顯示為縮寫或是將月份指定為數字。 Power Apps 支援 Microsoft Excel 的預留位置子集。 在這個字串中,語言預留位置指定解釋其他預留位置的語言。 如果自訂格式包括句號 (例如語言格式預留位置),則指定期間是否為小數點分隔符號 (ja-JP) 或千分位分隔符號 (es-ES)。
請參閱 處理日期和時間 以取得詳細資訊。
Text 函式也可以使用預設格式將任何資料類型轉換成文字表示。 使用此類型可將非文字值傳遞至文本功能,例如 Len、Right 和 IsMatch。
預先定義的日期/時間格式
在這些範例中,使用的日期和時間是在 [時區] 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 | 以無前置零的數字顯示月份。 |
毫米 | 依適當情況將月份顯示為有前置零的數字。 |
嗯 | 顯示月份縮寫 (Jan 到 Dec)。 |
嗯 | 顯示月份全名 (January 到 December)。 |
d | 以無前置零的數字顯示月份日期。 |
DD | 依適當情況以有前置零的數字顯示月份日期。 |
DDD | 顯示星期幾縮寫 (Sun 到 Sat)。 |
dddd | 顯示星期幾全名 (Sunday 到 Saturday)。 |
yy | 以兩位數數字顯示年份。 |
yyyy | 以四位數數字顯示年份。 |
h | 以無前置零的數字顯示小時。 |
HH | 視需要以有前置零的數字顯示小時。 如果格式包含 AM 或 PM,將以 12 小時制顯示小時。 否則,會以 24 小時制顯示小時。 |
m | 以無前置零的數字顯示分鐘。 此預留位置必須緊接在 h 或 hh 代碼之後或緊接在 ss 代碼之前;否則,Text 會傳回月份,不會傳回分鐘。 |
毫米 | 依適當情況以有前置零的數字顯示分鐘。 此預留位置必須緊接在 h 或 hh 預留位置之後或緊接在 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 - 必需。 轉換為文字表示的值。 使用預設格式。
文字 ( 未鍵入 )
範例
除非另行指定,否則執行這些公式的使用者位於美國,並已選取英文做為語言。 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”) | 使用預留位置字元的格式︰
|
"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" |