

上記内容で四苦八苦しているVB初心者です。
Microsoft Visual Studio / ActiveReportで帳票を作成しています。
DBからの値が、小数点以下ありの場合(例:1.7)の時はそのまま表示し、小数点以下が0の場合(例:1.0)の時、整数部分のみを表示させたいのです。
質問の『値』ですが、今回の値は小数点第一位までです。
#.0 の時 → # と表示。
#.1~9 の時 → そのまま表示。
としたいのです。
稼働環境はWinXP、Win7です。
ちなみにイメージしていただくために・・・
既に別の条件で、
『If H_数量.Text = "0.00" Then
H_数量.Text = ""
H_単価.Text = ""
End If 』
というコードを書いているのですが、この、『H_数量』が問題の値部分です。
H_数量 の値が小数点以下ありの時、0の時、
での条件式となります。
よろしくお願いします。
No.5ベストアンサー
- 回答日時:
>H_数量.Text = Format(H_数量.Text, "#,##0")
>は、全行 #,##0 と表示されてしまいました。
こちらは、.NETじゃないので確認はできませんが、
H_数量.Text = Format(Val(H_数量.Text), "#,##0")
のようにValを付けてみてください。
Val関数は、文字列を数値に変換する関数です。
Format関数は、本来は数値を文字列に変換する関数です。
VBは数値が入っている文字列も数値と解釈されることがあるため、Valを使わなくても大丈夫でしたが、
.NETではそれがダメなようです。
ただ、他の言語にしてみればそれが普通なんですけどね。
nag0720様!
できました!!!
ありがとうございます(≧▽≦)~~~!!!
これで少数桁ありなし用で2枚用意していた帳票が1枚で済ませられます。
また、今回質問したことで色々勉強になりました。
本当にありがとうございました☆☆☆
それから、環境も書かずに質問して皆様にお手間を取らせてしまったこと、
この場をお借りしてお詫びいたします。
初心者ながら、そういう基本的なところは今後気をつけたいと思いますm(__)m
No.3
- 回答日時:
H_数量.Text = Format(H_数量.Text, "0.0")
If Right(H_数量.Text, 2) = ".0" Then
H_数量.Text = Format(H_数量.Text, "0")
End If
ではどうですか。
ありがとうございます。
結果としては、ダメでした。
H_数量 の欄が全て『0』となってしまいます。
環境は.NET なのですが、この環境ではFormat関数をこのように使うことは出来ないのでしょうか・・
単純に、
H_数量.Text = Format(H_数量.Text, "0")
を試すと、全行 0
H_数量.Text = Format(H_数量.Text, "#,##0")
は、全行 #,##0 と表示されてしまいました。
引き続きアドバイスお待ちしております。
No.2
- 回答日時:
下記ではダメでしょうか
---
Format(H_数量,"0.#")
ありがとうございます。
整数部分のみ表示したいので、Format(H_数量,"0.#")ではなく、
● If H_数量.Text = Fix(H_数量.Text) Then
H_数量.Text = Format(H_数量, "0")
End If
● If H_数量.Text = Fix(H_数量.Text) Then
H_数量.Text = Format(H_数量, "#")
End If
としてみましたが、どちらもダメでした。
Fix(▲▲) 、 Format(◆◆)
関数の後にくる▲▲と◆◆がダメなのでしょうか?
H_数量 は、帳票上のTextBox で Datafield = 数量
「数量」はDBのフィールド名です。
例にあげたコード
If H_数量.Text = "0.00" Then
H_数量.Text = ""
H_単価.Text = ""
End If 』
(H_数量が0.00の時、H_数量欄とH_単価欄は空欄にする)
はちゃんと動いているのですが。。
No.1
- 回答日時:
元の値の小数部を切り捨てた値と元の値を比較して、同一の場合は小数部0と判定すれば
良いと思います。
例.If H_数量.Text = FIX(H_数量.Text ) THEN
という感じです。
さっそくありがとうございます。
ただ、私の力ではコードが完成しません(><)
If H_数量.Text = FIX(H_数量.Text ) THEN
H_数量.Text = Fix(H_数量.Text)
End If
でしょうか?
しかしこれでは帳票が表示できませんでした。
THEN のあと、 H_数量 の整数部分のみ表示 するコードはどう書けば良いでしょうか?
初心者過ぎてすみません!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
VB初心者。小数点以下の表示でつまづいています(2
Visual Basic(VBA)
-
小数点を含む数値かどうか判断の判断方法
Visual Basic(VBA)
-
-
4
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
5
文字列で小数点以下の0を削除したい
Visual Basic(VBA)
-
6
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
7
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
8
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
9
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
10
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
11
visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ
Visual Basic(VBA)
-
12
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
13
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
14
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
15
デザイン時のVisible=Falseは実行時に変更できない?
Visual Basic(VBA)
-
16
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
17
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
18
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
19
DataGridViewの桁数制限に関して
Visual Basic(VBA)
-
20
ウィンドウを最前面にできません
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
Excel VBAのリストボックスの値...
-
シーケンサで最小値を保持する
-
値を返さないコード パス
-
C#の質問です
-
【C++/CLI.NET】コンボボックス...
-
VB.netでRGB関数を使うには
-
vbscriptを使いexcelを参照して...
-
【ASP.NET】 DataTextFieldの値...
-
VB.NETでコンボボックスの1行目...
-
ExcelでGaussian fittingをした...
-
ISDBNULLをスルーしてDBNULLが...
-
VBAでWEB上の入力項目に値をい...
-
DelphiのTDBLookupConboBoxの使...
-
変数が勝手に変わります
-
不定値の出力について
-
VBプログラム エラーが出ます
-
ダブルクリックをした順番に数...
-
VB初心者。小数点以下の表示で...
-
Excel VBA 複数選択したリスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
シーケンサで最小値を保持する
-
VBA ドロップダウンリストを残...
-
Excel VBAのリストボックスの値...
-
マクロで奇数と偶数の値を2か所...
-
値を返さないコード パス
-
C#の質問です
-
VB.NETでコンボボックスの1行目...
-
VB初心者。小数点以下の表示で...
-
変数に代入してある数値を表示...
-
変数名の取得
-
PL/SQLでのTO_DATEの時間取得に...
-
マクロ 特定のセル値のみクリ...
-
ユーザーフォームのテキストボ...
-
Excel VBA 複数選択したリスト...
-
VB.NETのスクロールバーコント...
-
コンボボックスに固定値をセッ...
-
vb6のVSFlexGridで選択行、列の...
-
windowsアプリケーションで小数...
-
textboxとLabelを動的に変更する
おすすめ情報