整数と小数点に分解する その危うさ

さてお題 変数の特性を理解しないとこーなると言う やらかしを例に

上記を分解する場合 45384.7721444444 をExcelの日付と時間があるタイプ
私の場合は無意識に As Double 指定したけど…。


Public Sub TEST()
Dim SingleTime As Single, DoubleTime As Double, CurrencyTime As Currency
Const DateTime As Double = 45384.7721444444

Stop
 Debug.Print Fix(DateTime)
 SingleTime = DateTime - Fix(DateTime)
 DoubleTime = DateTime - Fix(DateTime)
 CurrencyTime = DateTime - Fix(DateTime)
Stop
 Debug.Print SingleTime
Stop
 Debug.Print DoubleTime
Stop
 Debug.Print CurrencyTime

End Sub

う~ん、 横着しちゃいかんね(笑)。
小数点はコレが怖いんですよね~、機会が少ないだけに余計…

ちなみに RPAの場合は 文字列で"."を区切り文字にして扱うかな
整数と小数点に分解するならだけど、
お勧めは正常処理に "."を区切り文字で切り分けて 整数・小数点を処理
    異常処理に 分解出来ない時は整数として処理
がベースかな?要求にもよるけど
みんなも 小数点 は慎重に扱おうね @ いやほんとに

この記事が気に入ったらサポートをしてみませんか?