VB初心者。小数点以下の表示でつまづいています(2
『VB初心者。小数点以下の表示でつまづいています(涙』 (・・・過去質問 解決済み)
では大変お世話になりました。
さて、上記質問は解決したかに思い、お礼もしてして終了したのですが、
検証しておりましたら問題が見つかりました。
以下、質問内容を修正して、再質問します。よろしくお願いしますm(__)m
VB .NET環境
Microsoft Visual Studio / ActiveReportで帳票を作成しています。
DBからの値が、小数点以下ありの場合(例:1.07)の時はそのまま表示し、小数点以下が.00の場合(例:1.00)の時、整数部分のみを表示させたいのです。
質問の『値』ですが、今回の値は小数点第2位までです。
#.00 の時 → # と表示。
#.01~99 の時 → そのまま表示。
としたいのです。
ちなみに、小数点から左(整数部分)の桁は9桁まで入る可能性があります。
前回解決した際は、小数点より右1桁、左1桁で質問してしまったので、
H_数量.Text = Format(Val(H_数量.Text), "0.0")
If Right(H_数量.Text, 2) = ".0" Then
H_数量.Text = Format(Val(H_数量.Text), "0")
End If
と回答いただき、このパターンではうまく動きました。
小数点以下2桁のパターンも、コードを変更し、
H_数量.Text = Format(Val(H_数量.Text), "0.00")
If Right(H_数量.Text, 2) = ".00" Then
H_数量.Text = Format(Val(H_数量.Text), "0")
End If
でOKでした。
しかし、小数点より左9桁、右2桁を試してみると、ダメなのです。
1行目、
H_数量.Text = Format(Val(H_数量.Text), "0.00")
を、
H_数量.Text = Format(Val(H_数量.Text), "#,##0.00")
と変更しても、
小数点左が9桁には対応できません。
"###,###,##0" とか、"000,000,000" とか色々試しましたが、
500.00 の時、 000,000,500 と表示されました。
どのようにコードを書いたら良いでしょうか?
アドバイスお願いしますm(__)m
お礼
そのとおりでした。ありがとうございました。