わんすけに聞いてみる WinActor [WinActor]予算表・決算書向けの単位変換

[WinActor]予算表・決算書向けの単位変換

予算表とか、決算書の様式作る時って、表記の単位が【単位:千】とかって特殊な表記になってたりしますね。

しかも予算の場合は切り上げしてほしかったり、執行額の場合は四捨五入してほしかったり、いろいろありますよね。

今日は、四捨五入・切り上げ・切り下げ・桁指定・端数丸めなどなどできるノードを作ってみました。

 

1.単位変換

切り上げ・切り捨て・四捨五入を正しく行う部分はこちらを参考にさせて頂きました。

スクリプト実行ステージのスクリプトタブに以下のコードを張り付ければ実装できます。

Dim ret, retvar
Dim in1, in2, in3, in4, in5, omit, comma, afdec

in1 = CCur(!元の値!)
in2 = !倍率変換|そのまま,⇒【単位:万】,⇒【単位:千】,⇒【単位:百】,【単位:万】解除,【単位:千】解除,【単位:百】解除!
in3 = !表示書式|整数,少数1桁,少数2桁,少数3桁,一の位丸め,十の位丸め,百の位丸め!
in4 = !端数処理|四捨五入,切り捨て,切り上げ!
in5 = !3桁区切りカンマ|あり,なし!
ret = CCur(0)

retvar = $結果$

Select Case in2
  Case "⇒【単位:万】"
    ret = in1 / 10000
  Case "⇒【単位:千】"
    ret = in1 / 1000
  Case "⇒【単位:百】"
    ret = in1 / 100
  Case "【単位:万】解除"
    ret = in1 * 10000
  Case "【単位:千】解除"
    ret = in1 * 1000
  Case "【単位:百】解除"
    ret = in1 * 100
  Case Else
    ret = in1
End Select

omit = 0
Select Case in3
  Case "整数"
    omit = 1
    afdec = 0
  Case "少数1桁"
    omit = 0.1
    afdec = 1
  Case "少数2桁"
    omit = 0.01
    afdec = 2
  Case "少数3桁"
    omit = 0.001
    afdec = 3
  Case "一の位丸め"
    omit = 10
    afdec = 0
  Case "十の位丸め"
    omit = 100
    afdec = 0
  Case "百の位丸め"
    omit = 1000
    afdec = 0
End Select

ret = ret / omit

Select Case in4
  Case "四捨五入"
    ret = Fix(ret + (0.5 * Sgn(ret)))
  Case "切り捨て"
    ret = Fix(ret)
  Case "切り上げ"
    ret = Int(Abs(ret) * -1) * (Sgn(ret) * -1)
End Select

ret = ret * omit

Select Case in5
  Case "あり"
    comma = True
  Case "なし"
    comma = False
End Select

Call SetUMSVariable(retvar, FormatNumber(ret, afdec, , , comma))

 

2.設定タブはこんな感じ。

  • 元の値 ⇒ 変換する対象数値を設定(数値入れないとエラーになるよ。)
  • 倍率変換
    • 「そのまま」    ⇒ 変換なし
    • 「⇒【単位:万】」 ⇒ 1/10000にします
    • 「⇒【単位:千】」 ⇒ 1/1000にします
    • 「⇒【単位:百】」 ⇒ 1/100にします
    • 「【単位:万】解除」 ⇒ 10000倍にします
    • 「【単位:千】解除」 ⇒ 1000倍にします
    • 「【単位:百】解除」 ⇒ 100倍にします
  • 表示書式
    • 「整数」
    • 「少数1桁」
    • 「少数2桁」
    • 「少数3桁」
    • 「一の位丸め」
    • 「十の位丸め」
    • 「百の位丸め」
  • 端数処理
    • 「四捨五入」
    • 「切り捨て」
    • 「切り上げ」
  • 3桁区切りカンマ
    • 「あり」、「なし」

オプション自体は細かい説明なくても・・・ネ。

選択した通りになってくるかと思いますよ( ^ω^ )

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Related Post