上一頁|下一頁

貨幣表示法

貨幣概觀

貨幣是國家/地區特有的交換媒介。SAS 提供用於讀取和寫入貨幣的輸出格式和輸入格式。

美 元

第一次引進 DOLLARw.d 輸出格式和輸入格式,以讀取和寫入美國貨幣。 DOLLARw.d
  • 在美國貨幣的前面加上 $ 貨幣符號
  • 使用逗號 (,) 作為千位數分隔符號,以及點 (.) 作為小數分隔符號。
範例:
$12,345.00
DOLLARXw.d 也會寫入具有前置貨幣符號 ($) 的貨幣,但使用點 (.) 作為千位數分隔符號以及逗號 (,) 作為小數分隔符號。反轉貨幣輸出格式的點和逗號是許多歐洲國家/地區中使用的慣例。
範例:
 $12.345,00
DOLLAR 輸出格式和輸入格式的限制如下:
  • 不支援所有貨幣符號
  • 並非所有歐洲國家/地區都會反轉貨幣輸出格式的點和逗號。
  • 貨幣符號的外觀會根據電腦而不同 (EBCDIC 型電腦和 ASCII 型電腦會以不同方式呈現字元)。

本土化的歐元

EUROw.d 輸出格式和輸入格式的引進是要支援歐洲貨幣聯盟 (EMU) (成立於 1999 年) 所建立的歐元貨幣。EUROw.d
範例:
options locale=English_UnitedKingdom;
data _null_;
x=12345;
put x euro10.2;
run;
輸出:
 €12.345,00
EURO 輸出格式和輸入格式的限制如下:
  • 如果工作階段編碼不支援 € 符號,則使用字母 E 作為貨幣符號。
  • 歐元格式不區分地區設定。 它會使用逗號 (,) 作為千位數分隔符號,以及點 (.) 作為小數分隔符號。

自訂的貨幣表示法

若要建立自訂的貨幣表示法,您可以使用 FORMAT 程序。下列範例顯示如何建立澳元、瑞士法郎和英磅的唯一輸出格式。如需 FORMAT 程序的詳細資料,請參閱 Base SAS Procedures Guide
自訂貨幣表示法的 SAS 程式碼
proc format;

picture aud low-<0='0,000,000,009.00'
(prefix='-AU$' mult=100)
0–high='0,000,00,009.00 '
(prefix='AU$' mult=100);

picture sfr low-<0='0,000,000,009.00'
(prefix='-SFr.' mult=100)
0–high='0,000,00,009.00 '
(prefix='-SFr.' mult=100);

picture bpd low-<0='0,000,000,009.00'
(prefix='-BPd.' mult=100)
0–high='0,000,00,009.00 '
(prefix='BPd.' mult=100);

run;
data currency;
input aud sfr bpd 12.2;
datalines;
12345 12345 12345 
0 0 0
-12345 -12345 -12345
;

proc print data=currency noobs;
var aud sfr bpd;
format aud aud. sfr sfr. bpd bpd.;
title 'Unique Currency Formats';
run;
唯一貨幣輸出格式
自訂貨幣表示法可提供彈性,但需要程式化解決方案。

本土化的國家和國際貨幣表示法

NLMNYw.d 和 NLMNYIw.d 輸出格式和輸入格式的引進是要以兩種形式來表示本土化的貨幣:
本土化的國家貨幣表示法
反映地區設定的自訂和慣例。國家輸出格式是使用 NLMNYw.d 輸出格式和輸入格式所指定。使用 NLMNYw.d 輸出格式和輸入格式時,您也必須使用 LOCALE= 選項來指定地區設定。
範例:options locale=english_UnitedStates; data _null_; x=12345; put x nlmny15.2; run;
輸出:
$12,345.00選取的國家貨幣表示法如下:
本土化的國家貨幣表示法
LOCALE=
貨幣
國家表示法
English_UnitedStates
美元
$12,345.00
French_Canada
加幣
12 345,00 $
French_France
法國歐元
12 345,00 €
French_Switzerland
瑞士法郎
SFr. 12'345.00
German_Germany
德國歐元
12.345,00 €
German_Luxembourg
盧森堡歐元
12.345,00 €
Spanish_Spain
西班牙歐元
12.345,00 €
Spanish_Venezuela
委內瑞拉歐元
VEF12.345,00
本土化的呈現會顯示用於表示貨幣的原生自訂。例如,雖然這些選取的 EMU 國家/地區可能使用相同的歐元貨幣,但是其貨幣敘述會不同。French_France 不使用千位數分隔符號,但使用逗號作為小數分隔符號,而 German_Germany 和 Spanish_Spain 使用點作為千位數分隔符號以及逗號作為小數分隔符號。
本土化的國際貨幣表示法
符合 ISO 標準 4217。國際形式是使用 NLMNYIw.d 輸出格式和輸入格式來指定。國際形式常用來顯示全球貨幣比較;例如,針對機票、商業和股市價格。使用 NLMNYIw.d 輸出格式和輸入格式時,您也必須使用 LOCALE= 選項來指定地區設定。字母 "I" (意指「國際」) 會附加至輸出格式和輸入格式名稱。
範例:
options locale=english_UnitedStates;
data _null_;
x=12345; put x nlmnyi15.2;
run;
輸出:
USD12,345.00
選取的國際貨幣表示法如下:
國際貨幣表示法 (依地區設定) (ISO 標準 4217)
LOCALE=
貨幣
國際表示法
English_UnitedStates
美元
USD12,345.00
French_Canada
加幣
12 345,00 CAD
French_France
法國歐元
12 345,00 EUR
French_Luxembourg
盧森堡歐元
12.345,00 EUR
German_Germany
德國歐元
12.345,00 EUR
German_Switzerland
瑞士法郎
CHF12,345.00
Spanish_Spain
西班牙歐元
12.345,00 EUR
Spanish_Venezuela
委內瑞拉玻利瓦
VEF12.345,00
國際呈現也會反映用於表示貨幣的原生自訂。例如,雖然所有地區設定都會使用逗號作為千位數分隔符號以及點作為小數分隔符號,但是它們的 ISO 貨幣代碼的位置不同。EMU 國家/地區將貨幣代碼放在貨幣後面,而 English_UnitedStates、German_Switzerland 和 Spanish_Venezuela 會在貨幣前面加上 ISO 代碼。
如需 ISO 標準 4217 貨幣代碼的完整清單,請參閱 http://www.xe.com/iso4217.php。
使用本土化國家和國際貨幣表示法的主要限制是它們與 LOCALE= 系統選項值的相依性。

唯一的國家和國際貨幣表示法

NLMNLISOw.d 以及 NLMNIISOw.d 輸出格式和輸入格式的引進是要唯一表示每個貨幣,而不需要也使用 LOCALE= 選項來指定地區設定。每個貨幣都會透過唯一 ISO 標準 4217 貨幣代碼來指定。
唯一的國家貨幣表示法
是透過唯一 ISO 貨幣代碼來指定。國家輸出格式是使用 NLMNLISOw.d 輸出格式和輸入格式所指定。 在下列範例中,USD 是美元的 ISO 貨幣代碼。
附註: 使用 NLMNLISOw.d 輸出格式和輸入格式時,您不必使用 LOCALE= 選項來指定地區設定。
範例:data _null_; x=12345; put x nlmniusd15.2; run;
輸出:
US$12,345.00 選取的唯一國家貨幣表示法如下:
唯一貨幣表示法 (依 ISO 貨幣代碼)
ISO 貨幣代碼
貨幣
國家表示法
USD
美元
USD$12,345.00
CAD
加幣
CA$12,345.00
EUR
法國歐元
e12,345.00
CHF
瑞士法郎
SFr.12,345.00
EUR
德國歐元
e12,345.00
EUR
盧森堡歐元
e12,345.00
EUR
西班牙歐元
e12,345.00
VEB
委內瑞拉玻利瓦
找不到
大部分貨幣的前面都會加上貨幣符號或貨幣代碼。也會使用逗號作為千位數分隔符號以及點作為小數分隔符號。如果目前 SAS 工作階段編碼不支援當地貨幣的貨幣符號,則 NLMNLxxxw.d 輸出格式會使用 3 個字母的 ISO 貨幣代碼來輸出格式化該值。
唯一的國際貨幣表示法
是透過唯一 ISO 貨幣代碼來指定。國際輸出格式是使用 NLMNIISOw.d 輸出格式和輸入格式所指定。國際形式常用來顯示全球貨幣比較;例如,針對機票、商業和股市價格。字母 "I" (意指「國際」) 會附加至輸出格式和輸入格式名稱。在下列範例中,USD 是美元的 ISO 貨幣代碼。
附註: 使用 NLMNIISOw.d 輸出格式和輸入格式時,您不必使用 LOCALE= 選項來指定地區設定。
範例:data _null_; x=12345; put x nlmniusd15.2; run;輸出:USD12,345.00
選取的國際貨幣表示法如下:
國際貨幣表示法 (依 ISO 貨幣代碼)
ISO 貨幣代碼
貨幣
國際表示法
USD
美元
USD12,345.00
CAD
加幣
CAD12,345.00
EUR
法國歐元
EUR12,345.00
CHF
瑞士法郎
CHF12,345.00
EUR
德國歐元
EUR12,345.00
EUR
盧森堡歐元
EUR12,345.00
EUR
西班牙歐元
EUR12,345.00
VEB
委內瑞拉玻利瓦
找不到
國際呈現會在貨幣前面加上適當的 ISO 代碼。也會使用逗號作為千位數分隔符號以及點作為小數分隔符號。

範例:以國家和國際輸出格式表示貨幣

此 SAS 程式使用所選取亞太國家/地區對美元的匯率。在輸出中,每個國家/地區的貨幣都是使用國家和國際輸出格式來表示。
國家和國際貨幣輸出格式的 SAS 程式碼
data curr; 

input ex_date mmddyy. usd aud hkd jpy sgd 12.2; 

datalines; 

061704 1.00000 1.45349 7.79930 110.110 1.71900 1 


; 

proc print data=curr noobs label; 

var ex_date usd aud hkd jpy sgd; 

format ex_date mmddyy. usd nlmnlusd15.2 aud nlmnlaud15.2 hkd
nlmnlhkd15.2 
jpy nlmnljpy15.2 sgd nlmnlsgd15.2; 
2 

label ex_date='Date' usd="US" aud='Australia' hkd='Hong Kong' 

jpy='Japan' sgd='Singapore'; 

title 'Exchange Rates for Selected Asian-Pacific Countries 
(Localized Currency Codes)'; 



proc print data=curr noobs label; 

var ex_date usd aud hkd jpy sgd; 

format ex_date mmddyy. usd nlmniusd15.2 aud nlmniaud15.2 hkd
nlmnihkd15.2 
jpy nlmnijpy15.2 sgd nlmnisgd15.2; 
3 

label ex_date='Date' usd="US" aud='Australia' hkd='Hong Kong' 

jpy='Japan' sgd='Singapore'; 

title 'Exchange Rates for Selected Asian-Pacific Countries 
(International Currency Codes)'; 

run; 
  1. 這些匯率 (2004 年 6 月 17 日生效) 是指定為 SAS 程式中的資料。
  2. 這些 NLMNLISO 輸出格式會套用至 INPUT 陳述式中指定的每個數值資料項目。這些輸出格式會以適當的國家輸出格式來顯示貨幣。
  3. 這些 NLMNIISO 輸出格式會套用至 INPUT 陳述式中指定的每個數值資料項目。這些輸出格式會以適當的國際輸出格式來顯示貨幣。
國家和國際輸出格式輸出
國家和國際輸出格式輸出
上一頁|下一頁|頁面頂端