スポンサードリンク

VBScriptのFormatCurrency関数で通貨形式にしてみましょう。

VBScriptにはFormatCurrency関数が用意されているので、数値を通貨形式に変換して表示することができます。

しかもFormatCurrency関数の引数には、
小数点以下の桁数も指定できるので、とても便利です。

金額の計算部分のプログラムもシンプルになります。

それでは早速、試してみましょう。

【1】以下のようにプログラミングします。

前回作成した「sample024.vbs」をコピーして、
ファイル名を変更し、書き換えてもかまいません。

ファイル名 sample024-1.vbs

Option Explicit

Dim ans
Dim y, m, d, h, min, s

y = InputBox("年収を入力してください。(円)", "入力")

m = y / 12
d = y / 365
h = d / 24
min = h / 60
s = min / 60

ans = "あなたの収入換算" & vbCr _
    & "年:" & FormatCurrency(y) & vbCr _
    & "月:" & FormatCurrency(m) & vbCr _
    & "日:" & FormatCurrency(d) & vbCr _
    & "時:" &FormatCurrency(h,1) & vbCr _
    & "分:" & FormatCurrency(min,2) & vbCr _
    & "秒:" & FormatCurrency(s,3)

MsgBox ans, , "答え"



【2】準備ができたら、vbsファイルをダブルクリックして実行します。

年収の金額を入力してみてください。
以下の図は年収5百万円の場合です。


【3】すると、以下のような計算結果になるはずです。

VBScript

通貨形式なので、数値の前に\(エンマーク)が付いています。

また3桁ごとに「,」(カンマ)で区切られているので、
一目で金額がいくらなのか、分かりやすくなりました。

そして時間給からは、小数点以下も表示しています。

前のsample024.vbsの結果と2つ並べて表示すると、違いが分かりやすいです。

VBScript

秒の部分で小数点以下第3位に違いがありますが、
これは使っている関数や計算によって、「丸め誤差」があるためです。


【プログラムの解説】
FormatCurrency関数を使うため、小数点以下の桁数を考えなくて良いので、
計算部分のプログラムがとてもシンプルになりました。
m = y / 12
d = y / 365
h = d / 24
min = h / 60
s = min / 60

sample024.vbsと比較するとよくわかりますが、
前の計算の値を次の計算で使えるので、式自体がシンプルです。

FormatCurrency関数の最初の引数は、書式を変換する式(または値)です。

2番目の引数が、小数点以下の桁数を指定する部分ですが、省略も可能です。

2番目以降の引数を省略している場合
FormatCurrency(y)
FormatCurrency(m)
FormatCurrency(d)

2番目の引数で、それぞれ小数点以下1位〜3位まで指定している場合
FormatCurrency(h,1)
FormatCurrency(min,2)
FormatCurrency(s,3)

この部分で桁数を指定できるので、上記の計算部分がシンプルになっているわけです。

FormatCurrency関数には、他にも引数がありますが、省略できるので書いていません。

ps:
上記の計算式の部分でもFormatCurrency関数は使えますが、
かえって書き方が複雑になるので、今回の例のようなプログラムにしました。

VBScriptには他にもいろんな関数が用意されているので、
何ができるのか知っておくと便利ですよ。

スポンサードリンク






VBScript 初心者入門講座 TOPへ