NLS 書式指定ルーチン

ユーザーは,「コントロールパネル」の「地域」アイコンをクリックすることで,時刻,日付,通貨,および数値の書式を設定することができます。NLS ライブラリーも,現在の地域の書式指定ルーチンを提供しています。これらのルーチンを次表に要約します。これらのルーチンは,プログラムの起動時に基本設定として,または NLSSetLocale によって設定された現在のコードページで文字列を返します。

すべての書式指定ルーチンは,書式指定された文字列中のバイト数を返します (マルチバイト文字が含まれている場合に変わる可能性のある「文字数」ではありません)。出力文字列が書式指定された文字列よりも長い場合,出力文字列には空白が充填されます。出力文字列が書式指定された文字列よりも短い場合にはエラーが発生し,NLS$ErrorInsufficientBuffer が返され,出力文字列には何も書き出されません。

書式指定ルーチン

名前 手続の形式 説明
NLSFormatCurrency 関数 数値の文字列を書式指定し,現在の地域での正しい金額文字列を返します。
NLSFormatDate 関数 現在の地域の正しく書式指定された日付を含む文字列を返します。
NLSFormatNumber 関数 数値の文字列を書式指定し,現在の地域での正しい数値文字列を返します。
NLSFormatTime 関数 現在の地域の正しく書式指定された時刻を含む文字列を返します。

次に例を示します。

	USE DFNLS
	INTEGER(4) strlen, status
	CHARACTER(40) str
	strlen = NLSFormatTime(str)
	print *, str	!「午前 11:42:24」と出力
	strlen = NLSFormatDate(str, flags= NLS$LongDate)
	print *, str	!「2000年 7月 14日 金曜日」と出力
!	ロケールをアメリカ英語に変更
	status = NLSSetLocale("English", "United States")
	strlen = NLSFormatTime(str)
	print *, str	!「11:42:24 PM」と出力
	strlen = NLSFormatDate(str, flags= NLS$LongDate)
	print *, str	!「Friday, July 14, 2000」と出力