NLS 関数:現在のロケールの正しく書式化された通貨文字列を返します。
モジュール:USE DFNLS
形式
result = NLSFormatCurrency ( outstr, instr [, flags ] )
outstr
(出力) CHARACTER*(*)。現在のロケールの正しく書式化された通貨を含む文字列。outstr が書式化された通貨よりも長い場合,空白が充填されます。
intstr
(入力) CHARACTER*(*)。書式化するための数値文字。文字 '0' ~ '9',浮動小数点値の場合は小数点,および負の値の場合は第 1 位置に負符号のみを含むことができます。他のすべての文字は無効で,関数はエラーを返します。
flags
(省略可能,入力) INTEGER(4)。指定されていれば,通貨変換を修正します。flags が省略されると,フラグ NLS$Normal が使われます。利用可能なシンボル定数は以下のとおりです (DFNLS.F90 で定義)。
NLS$Normal - 特別な書式化なし。
NLS$NoUserOverride - ユーザー上書きを使用しない。
結果
結果の型は INTEGER(4) です。結果は,outstr に書き込まれた文字列の文字数 (バイト数でマルチバイト文字ではありません) です。エラーが発生すると,結果は以下の負の値の 1 つです。
NLS$ErrorInsufficentBuffer - outstr バッファが小さすぎます。
NLS$ErrorInvalidFlags - flags が無効な値です。
NLS$ErrorInvalidInput - instr が無効な値です。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
NLSFormatDate,NLSFormatNumber,NLSFormatTime
例
USE DFNLS CHARACTER(40) str INTEGER(4) i i = NLSFormatCurrency(str, "1.23") print *, str ! \1 を出力 i = NLSFormatCurrency(str, "1000000.99") print *, str ! \1,000,001 を出力 i = NLSSetLocale("Spanish", "Spain") i = NLSFormatCurrency(str, "1.23") print *, str ! 1 Pts を出力 i = NLSFormatCurrency(str, "1000000.99") print *, str ! 1.000.001 Pts を出力 i = NLSSetLocale("Japanese", "Japan")