數字格式與時間格式的慣例

在許多解譯和格式設定函數中,可使用格式代碼來設定數字和日期的格式。本主題描述用於設定數字、日期、時間或時間戳記格式的慣例。這些慣例同時適用於指令碼與圖表函數。

數字格式

  • 若要代表特定位數的數字,可使用符號 "0"來代表每個數字。

  • 若要代表可能的位數,可使用符號"#"。如果在格式中,小數點左方僅包含#符號,且數字小於 1,則零會被裁減,並將以小數點開頭。如果在格式中,小數點右方包含 #符號,則會顯示所有值。

  • 若要標示千位分隔符號或小數點分隔符號的位置,可使用合適的千位分隔符號和小數點分隔符號。

格式代碼可用於定義分隔符號的位置,但無法以格式代碼來設定分隔符號。可在指令碼中使用 DecimalSepThousandSep 變數。

可使用千位分隔符號,將數字按任意數量的位置群組化,例如,格式字串 "0000-0000-0000"(千位分隔符號 = "-") 可用於將 12 位數的零件編號顯示為 "0012-4567-8912"

請參閱: DecimalSep ThousandSep

範例:  

# ##0

會將數字描述為含千位分隔符號的整數。

###0

會將數字描述為不含千位分隔符號的整數。

0000 會將數字描述為至少四位數的整數。例如,數字 123 會顯示為 0123。
0.000

會將數字描述為帶三位小數。

0.0##

會將數字描述為帶三位小數。一些可能會顯示為零。

特殊數字格式

QlikView可解譯以 2 和 36 之間任何基數來表示的數字並設定其格式,包括二進位、八進位及十六進位。也可處理羅馬格式。

二進位格式

若要表示二進位格式,格式代碼應以 (bin)(BIN) 開頭。

八進位格式

若要表示八進位格式,格式代碼應以 (oct)(OCT) 開頭。

十六進位格式

若要表示十六進位格式,格式代碼應以 (hex)(HEX) 開頭。若使用大寫版本,格式設定會使用 A-F(例如14FA)。非大寫版本會讓格式設定使用 a-f(例如14fa)。無論格式代碼大寫與否,兩種版本都可順利解譯。

小數點格式

可使用 (dec)(DEC) 來表示小數點格式,但並非必要。

自訂基數格式

若要以 2 和 36 之間任何基數來表示格式,格式代碼應以 (rxx) (Rxx) 開頭,其中 xx 為代表所用基數的兩位數。如果使用大寫的 R,則當 QlikView 進行格式設定時,基數中大於 10 的字母會大寫 (例如14FA)。非大寫的 r 會讓格式設定使用非大寫字母 (例如14fa)。無論格式代碼大寫與否,兩種版本都可順利解譯。請注意,(r02)相當於 (bin)(R16) 相當於 (HEX),依此類推。

羅馬格式

若要表示羅馬數字,格式代碼應以 (rom)(ROM) 開頭。若使用大寫版本,格式設定會使用大寫字母 (例如MMXVI)。非大寫版本會讓格式設定使用小寫字母 (例如mmxvi)。無論格式代碼大寫與否,兩種版本都可順利解譯。羅馬數字概括使用減號來代表負數,0 代表零。羅馬格式會忽略小數。

範例:  

num(199, '(bin)') 傳回 11000111
num(199, '(oct)') 傳回 307
num(199, '(hex)') 傳回 c7
num(199, '(HEX)' ) 傳回 C7
num(199, '(r02)' ) 傳回 11000111
num(199, '(r16)') 傳回 c7
num(199, '(R16)' ) 傳回 C7
num(199, '(R36)') 傳回 5J
num(199, '(rom)') 傳回 cxcix
num(199, '(ROM)' ) 傳回 CXCIX

日期

您可以使用以下符號設定日期格式。可使用任意的分隔符號。

D

若要描述日期,可使用符號 "D"來代表每個數字。

M

若要描述月份,可使用符號 "M"

  • 使用 "M""MM" 代表一位數或二位數。
  • "MMM"代表由作業系統或指令碼中覆寫系統變數 MonthNames 所定義、以字母表示的簡短月份名稱。
  • "MMMM"代表由作業系統或指令碼中覆寫系統變數 LongMonthNames 所定義、以字母表示的完整月份名稱。

請參閱: MonthNames LongMonthNames

Y

若要描述年度,可使用符號 "Y"來代表每個數字。

W

若要描述工作日,可使用符號 "W"

  • "W"會以一位數的形式傳回星期幾 (例如 0 為星期一)。
  • "WW"會傳回兩位數的數字 (例如 02 為星期三)。
  • "WWW"會顯示由作業系統或指令碼中覆寫系統變數 DayNames 所定義、工作日名稱的簡短版本 (例如 Mon)。
  • "WWWW"會顯示由作業系統或指令碼中覆寫系統變數 LongDayNames 所定義、工作日名稱的完整版本 (例如 Monday)。

請參閱: DayNames LongDayNames

範例: (使用 2013 年 3 月 31 日作為日期範例)

YY-MM-DD 會將日期描述為 13-03-31。
YYYY-MM-DD 會將日期描述為 2013-03-31。
YYYY-MMM-DD 會將日期描述為 2013-Mar-31。
DD MMMM YYYY 會將日期描述為 31 March 2013。
M/D/YY 會將日期描述為 3/31/13。
W YY-MM-DD 會將日期描述為 6 13-03-31。
WWW YY-MM-DD 會將日期描述為 Sat 13-03-31。
WWWW YY-MM-DD 會將日期描述為 Saturday 13-03-31。

時間

您可以使用以下符號設定時間格式。可使用任意的分隔符號。

h

若要描述小時,可使用符號 "h"來代表每個數字。

m

若要描述分鐘,可使用符號 "m"來代表每個數字。

s

若要描述秒鐘,可使用符號 "s"來代表每個數字。

f 若要描述秒分數,可使用符號 "f"來代表每個數字。
tt

若要以上午/下午的格式描述時間,可在時間之後使用符號 "tt"

範例: (使用 18.30 作為時間範例):

hh:mm 會將時間描述為 18:30
hh.mm.ss.ff 會將時間描述為 18.30.00.00
hh:mm:tt 會將時間描述為 06:30:pm

時間戳記

時間戳記中使用上述用於日期和時間的相同標記法。

範例: (使用 2013 年 3 月 31 日 18.30 作為時間戳記範例):

YY-MM-DD hh:mm 會將時間戳記描述為 13-03-31 18:30
M/D/Y hh.mm.ss.ffff 會將時間戳記描述為 3/31/13 18.30.00.0000