FORMAT_STRING 內容 (MDX)
FORMAT_STRING 資料格屬性可格式化 VALUE 資料格屬性,建立 FORMATTED_VALUE 資料格屬性的值。 FORMAT_STRING 資料格屬性能處理原始的字串及原始數值,對該值套用格式運算式,以傳回格式化的 FORMATTED_VALUE 資料格屬性值。 下列資料表詳述了用來處理字串和數值的語法和格式字元。
字串值
字串的格式運算式可以有一個區段或以分號 (;) 分隔的兩個區段。
使用方式 |
結果 |
---|---|
一個區段 |
格式套用到所有的字串值。 |
兩個區段 |
第一個區段套用到字串資料,而第二個區段則套用到 Null 值和零長度字串 ("")。 |
下列資料表中描述的字元可出現於字元字串的格式字串。
字元 |
說明 |
---|---|
@ |
代表會顯示字元或空格的字元預留位置。 如果字串在格式字串中 @ 符號的位置會有一個字元,格式化字串就會顯示該字元。 否則,格式化字串就會在那個位置顯示一個空格。 預留位置是由右向左填入,除非格式字串中有一個驚嘆號 (!)。 |
& |
代表會顯示字元或空格的字元預留位置。 如果字串在格式字串中 & 符號的位置會有一個字元,格式化字串就會顯示該字元。 否則,格式化字串就會顯示空格。 預留位置是由右向左填入,除非格式字串中有一個驚嘆號 (!)。 |
< |
強制小寫。 格式化字串會以小寫格式顯示所有字元。 |
> |
強制大寫。 格式化字串會以大寫格式顯示所有字元。 |
! |
強制由左至右填入預留位置。 (預設值是由右至左填入預留位置)。 |
數值
使用者自訂的數字格式運算式可以有一到四個由分號分隔的區段。 如果格式引數含有一個已命名的數值格式,則只允許有一個區段。
使用方式 |
結果 |
---|---|
一個區段 |
格式運算式套用到所有的值。 |
兩個區段 |
第一個區段套用到正值和零值,第二個區段套用到負值。 |
三個區段 |
第一個區段套用到正值,第二個區段套用到負值,第三個區段套用到零值。 |
四個區段 |
第一個區段套用到正值,第二個區段套用到負值,第三個區段套用到零值,第四個區段套用到 Null 值。 |
以下範例有兩個區段。 第一個區段定義正值和零的格式,而第二個區段定義負值的格式。
"$#,##0;($#,##0)"
如果您使用了幾個分號而它們之間卻沒有任何東西,那麼便會以正值的格式顯示所遺漏的區段。 例如,以下格式會使用第一個區段的格式顯示正值和負值,如果值為零的話則顯示 "Zero":
"$#,##0;;\Z\e\r\o"
下表會識別數值格式的格式字串中可出現的字元。
字元 |
說明 |
---|---|
無 |
顯示沒有格式的數字。 |
0 |
代表會顯示數字或零 (0) 的數字預留位置。 如果數值在格式字串中 0 出現的位置有一個數字,格式值便會顯示該數字。 否則,格式值就會在那個位置顯示一個零。 如果該數值比格式字串中零的位數還少 (在小數點任何一邊),格式值便會在開頭或尾端顯示零。 如果該數值小數點右邊的位數比格式運算式小數點右邊零的位數還多,那麼格式值便會將數值四捨五入到與零相同的小數位數。 如果該數值小數點左邊的位數比格式運算式小數點左邊零的位數還多,那麼格式值就會顯示未經修改的額外位數。 |
# |
代表會顯示數字或零的數字預留位置。 如果運算式在格式字串中 # 數字符號出現的位置有一個數字,格式值便會顯示該數字。 否則,格式值就會在那個位置顯示一個零。 這個 # 數字符號的運作方式就像零(0) 數字預留位置,不同的是如果該數值在小數點任何一邊的位數,跟格式運算式在小數點任何一邊上有的 # 字元位數相同或較少時,就無法在開頭及尾端顯示零。 |
. |
代表可決定在小數點左、右要顯示幾位數字的小數預留位置。 如果格式運算式在句號 (.) 左邊只有 # 數字符號那麼小於 1 的數值將是以小數點為開頭。 若要在小數點數字開頭顯示一個零,請使用零 (0) 做為小數點左邊的第一個數字預留位置。 在格式化輸出中實際做為小數預留位置的字元,將依電腦系統所能辨識的數字格式而有所不同。
|
% |
代表百分比預留位置。 運算式會乘以 100。 百分比字元 (%) 會插入格式字串中出現百分比的位置。 |
, |
代表 千位分節點,一個數值中小數點左邊有四位以上位數時,可用以區分百位以上的千位數字。 如果格式中包含的千位分節點被數字預留位置 (0 或 #) 括住,是在指定千位分節點的標準用法。 小數點左邊 (不論有沒有指定小數點) 緊接著兩個相鄰的千位分節點,或一個千位分節點,表示「將數值除以 1000 來進位,視需要四捨五入」。例如,您可以使用格式字串 "##0,,",將一億表示為 100。 小於 1 百萬的數字顯示為 0。 兩個相鄰的千位分節點不是緊接在小數點左邊,都會視為指定要使用千位分節點。 在格式化輸出中實際做為千位分節點的字元,將依電腦系統所能辨識的數字格式而有所不同。
|
: |
代表時間分隔符號,其會在格式化時間值的時候區隔時、分 和秒。
在格式化輸出中實際做為時間分隔符號使用的字元,是由電腦上的系統設定來決定。 |
/ |
代表日期分隔符號,其會在格式化日期值的時候區隔年、月、日。 在格式化輸出中實際做為日期分隔符號使用的字元,是由電腦上的系統設定來決定。
|
E- E+ e- e+ |
代表科學格式。 如果格式運算式在 E-、E+、e- 或 e+ 的右邊含有至少一位數字預留位置 (0 或 #),格式值會被顯示為科學格式,而 E 或 e 會被插入數值與數值的指數之間。 右邊預留位置的數字位數決定了指數的數字位數。 使用 E- 或 e- 會在負指數旁邊加上負號。 使用 E+ 或 e+ 會在正指數旁邊加上正號。 |
- + $ ( ) |
顯示實際字元。 若要顯示未在以上列出的字元,請在該字元前面加上一個反斜線 (\) 或以雙引號 (" ") 括住。 |
\ |
顯示格示字串中的下一個字元。 若要以實際字元來顯示一個有特殊義意的字元,請在該字元前面加上一個反斜線 (\)。 反斜線本身不會被顯示。 使用反斜線就和使用雙引號把反斜線後面的字元括起來是一樣的。 若要顯示一個反斜線,請使用兩個反斜線 (\\)。 無法顯示為實際字元的字元範例包括以下字元:
|
"ABC" |
顯示雙引號 (" ") 內的字串。 若要在程式碼中包括格式中的字串,請使用 Chr(34) 來括住文字。 (雙引號的字元碼是 34)。 |
具名數值格式
下表會識別預先定義的數值格式名稱:
格式名稱 |
說明 |
---|---|
General Number |
顯示不含千位分隔符號的數字。 |
Currency |
顯示具有千位分隔符號的數字 (適用的話)。 顯示小數點右側的兩位數。 輸出是以系統地區設定為基礎。 |
Fixed |
在小數點分隔符號的左邊至少顯示一個位數,並在小數點分隔符號的右邊顯示兩個位數。 |
Standard |
顯示含有千位分隔符號的數字;在小數點分隔符號的左邊至少顯示一個位數,並在小數點分隔符號的右邊顯示兩個位數。 |
Percent |
顯示一個數字,此數字會乘以 100 並在右邊附加百分比符號 (%)。 一定會顯示小數點分隔符號右側的兩位數。 |
Scientific |
使用標準科學記號標記法。 |
Yes/No |
如果數字為零則顯示 No,否則會顯示 Yes。 |
True/False |
如果數字為零則顯示 False,否則會顯示 True。 |
On/Off |
如果數字為零則顯示 Off,否則會顯示 On。 |
日期值
下列資料表列出了可以出現在日期/時間格式之格式字串的字元。
字元 |
說明 |
---|---|
: |
代表時間分隔符號,其會在格式化時間值的時候區隔時、分 和秒。 在格式化輸出中實際做為時間分隔符號使用的字元,是由電腦的系統設定來決定。
|
/ |
代表日期分隔符號,其會在格式化日期值的時候區隔年、月、日。 在格式化輸出中實際做為日期分隔符號使用的字元,是由電腦的系統設定來決定。
|
C |
將日期顯示為 ddddd,時間顯示為 ttttt,依此順序。 如果日期序數沒有小數部份,則僅顯示日期的資訊。 如果沒有整數部份,則僅顯示時間資訊。 |
d |
將日期顯示為開頭沒有零的數字 (1–31)。 |
dd |
將日期顯示為開頭有零的數字 (01–31)。 |
ddd |
將星期顯示為縮寫 (Sun–Sat)。 |
dddd |
將日期顯示為完整名稱 (Sunday–Saturday)。 |
ddddd |
將日期顯示為完整日期 (包括年、月、日),依照您系統的簡短日期格式設定格式化。 對於 Microsoft Windows,預設的簡短日期格式為 m/d/yy。 |
dddddd |
將日期序數顯示為完整日期 (包括年、月、日),以電腦系統能辨識的完整日期格式進行格式化。 對於 Windows,預設的完整日期格式為 mmmm dd, yyyy。 |
w |
將星期幾顯示為數字 (1 代表星期日,依序類推至 7 代表星期六)。 |
ww |
將一年的每一週顯示為數字 (1–54)。 |
m |
將月份顯示為開頭沒有零的數字 (1–12)。 如果 m 是直接跟隨在 h 或 hh 後面,則顯示的將是「分」而不是「月」。 |
mm |
將月份顯示為開頭有零的數字 (01–12)。 如果 m 是直接跟隨在 h 或 hh 後面,則顯示的將是「分」而不是「月」。 |
mmm |
將月份顯示為縮寫 (Jan–Dec)。 |
mmmm |
將月份顯示為完整月份名稱 (January–December)。 |
q |
將一年的每一季顯示為數字 (1–4)。 |
y |
將一年的每一日顯示為數字 (1–366)。 |
yy |
將年份顯示為兩位數字 (00–99)。 |
yyyy |
將年份顯示為四位數字 (100–9999)。 |
h |
將小時顯示為開頭沒有零的數字 (0–23)。 |
hh |
將小時顯示為開頭有零的數字 (0–23)。 |
n |
將分鐘顯示為開頭沒有零的數字 (0–59)。 |
nn |
將分鐘顯示為開頭有零的數字 (00–59)。 |
s |
將秒顯示為開頭沒有零的數字 (0–59)。 |
ss |
將秒顯示為開頭有零的數字 (00–59)。 |
t t t t t |
將時間顯示為完整時間 (包括時、分、秒),以電腦系統能識別的時間格式定義的分隔符號進行格式化。 如果選取開頭有零的選項而且時間是在 10:00 之前,開頭便會顯示零 (例如 09:59),不論是在 A.M. 或 P.M. 週期中。 例如,09:59。 對於 Windows,預設的時間格式是 h:mm:ss。 |
AM/PM |
以大寫的 AM顯示午夜到正午的任何時間;以大寫的 PM 顯示正午到午夜的任何時間。
|
am/pm |
以小寫顯 am 示午夜到正午的任何時間;以小寫的 pm 顯示正午到午夜的任何時間。
|
A/P |
以大寫的 A 顯示午夜到正午的任何時間;以大寫的 P 顯示正午到午夜的任何時間。
|
a/p |
以小寫顯 a 示午夜到正午的任何時間;以小寫的 p 顯示正午到午夜的任何時間。
|
AMPM |
以電腦系統所定義的 AM 字串常值顯示午夜到正午的任何時間;以電腦系統所定義的 PM 字串常值顯示正午到午夜的任何時間。
AMPM 可以是大寫也可以是小寫,但是所顯示字串的大小寫會跟電腦的系統設定中所定義的字串相符。 對於 Windows,預設的格式為 AM/PM。 |
具名日期格式
下表會識別預先定義的日期與時間格式名稱:
格式名稱 |
說明 |
---|---|
General Date |
顯示日期及/或時間。 針對實數來顯示日期和時間,例如 4/3/93 05:34 PM。 如果沒有小數部分,則只會顯示日期,例如 4/3/93。 如果沒有整數部分,則只會顯示時間,例如 05:34 PM。 日期顯示的格式是由系統設定所決定。 |
Long Date |
依據系統的完整日期格式來顯示日期。 |
Medium Date |
使用適合主應用程式之語言版本的中型日期格式來顯示日期。 |
Short Date |
使用系統的簡短日期格式來顯示日期。 |
Long Time |
使用系統的完整時間格式來顯示時間,包括時、分和秒。 |
Medium Time |
使用時、分和 AM/PM 指示項的 12 小時格式來顯示時間。 |
Short Time |
使用 24 小時格式來顯示時間,例如 17:45。 |
請參閱
概念
FORMATED_VALUE 上的 LANGUAGE 及 FORMAT_STRING