

上記内容で四苦八苦している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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- その他(パソコン・スマホ・電化製品) pthonのframeに演算結果(数値)を表示したい 1 2023/06/05 22:08
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/03/16 11:19
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- 情報処理技術者・Microsoft認定資格 情報技術の問題についてです。 10進数の−36を以下のような16ビットの浮動小数点表示にするといくつ 3 2022/05/21 19:53
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
VB初心者。小数点以下の表示でつまづいています(2
Visual Basic(VBA)
-
文字列で小数点以下の0を削除したい
Visual Basic(VBA)
-
-
4
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
5
実数の整数部,小数部の取得
Visual Basic(VBA)
-
6
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
7
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
8
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
9
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
10
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
11
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
12
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
13
VBでの入力値制限について
Visual Basic(VBA)
-
14
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
15
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
16
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
17
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
18
DataGridViewの桁数制限に関して
Visual Basic(VBA)
-
19
CloseとDisposeの違い
Visual Basic(VBA)
-
20
VB.NETでボタンのクリックイベントハンドラが2回実行される
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridView1のcellで計算
-
テキストボックスのvalueとtext...
-
VBA ドロップダウンリストを残...
-
PL/SQLでのTO_DATEの時間取得に...
-
vb6のVSFlexGridで選択行、列の...
-
更新処理について
-
C#の質問です
-
下記内容はpythonの重回帰分析...
-
【C++/CLI.NET】コンボボックス...
-
ACCESS VBA 画像ファ...
-
VB初心者。小数点以下の表示で...
-
Dateserialで データ抽出
-
変数に代入してある数値を表示...
-
InStr の不具合
-
ListBoxでオートフィルター表示
-
テキストボックスの設定。
-
コンボボックスに固定値をセッ...
-
vbaの繰り返しで求める最大値に...
-
チェックした値を取得したい(C...
-
vbscriptを使いexcelを参照して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
VBA ドロップダウンリストを残...
-
Excel VBAのリストボックスの値...
-
値を返さないコード パス
-
VB.NETでコンボボックスの1行目...
-
VB初心者。小数点以下の表示で...
-
Excel VBA 複数選択したリスト...
-
C#の質問です
-
マクロで奇数と偶数の値を2か所...
-
変数名の取得
-
マクロ 特定のセル値のみクリ...
-
シーケンサで最小値を保持する
-
[VB.net] DataGridViewのコンボ...
-
Powershellのparamについて
-
PL/SQLでのTO_DATEの時間取得に...
-
【C++/CLI.NET】コンボボックス...
-
ユーザーフォームのテキストボ...
-
VB.NETのスクロールバーコント...
-
VB.NETでアクティブなformを知...
-
vb6のVSFlexGridで選択行、列の...
おすすめ情報