• ベストアンサー

小数点を含む数値かどうか判断の判断方法

プログラム(VB.NET)初心者です。 どうぞよろしくお願いします。 テキストボックスに小数点を含んだ数値かどうかの 判断を行いたいのですが、どのようにチェックをすればいいかがわかりません。 どなたか、わかる方教えていただけたら幸いです。 サンプルソースがあると嬉しいです。 申し訳ありませんが、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

TextBox1に入力された文字列をDecimalに変換してみて、エラーが起こるかどうかでチェックするサンプル TextBox2にチェック結果を表示するようにしてあるが、 Flagが0以外の時エラーがあったことがわかる ------------------------------------------------------ Dim decimalVal As Decimal = 0 Dim Flag As Integer = 0 TextBox2.Text = "OK" Try decimalVal = System.Convert.ToDecimal(TextBox1.Text) Catch exception As System.OverflowException Flag = 1 'オーバーフロー TextBox2.Text = "オーバーフロー" Catch exception As System.FormatException Flag = 2 '書式がおかしい TextBox2.Text = "書式がおかしい" Catch exception As System.ArgumentException Flag = 3 'Null TextBox2.Text = "未入力" End Try

その他の回答 (2)

  • rouden
  • ベストアンサー率30% (13/43)
回答No.3

・テキストボックスには、すでに数値が入っている状態とした場合のサンプル(自作)です。 ・簡単にソースの処理内容を言いますと、「Number = Number - Int(Number)」の処理で、変数「Number」に入っている数値を小数点部分のみにしてしまう計算をしています。また、「Number = Abs(Number) '絶対値を取得」の処理をしている理由は、テキストボックスに入力されていた数値が、負の数(0未満)だったときに、変数「Number」に含まれている「-」(マイナス記号)を取り除くためです。 Dim Number As Double Number = CDbl(Text1.Text) '念のため、テキストボックスの中身を倍精度浮動小数点数型にして変数に代入する。 Number = Number - Int(Number) Number = Abs(Number) '絶対値の取得 If Number = 0 Then   Msgbox("小数点を含まない数値です。") Else   Msgbox("小数点を含んだ数値です。") End If

回答No.1

テキストボックスということであれば、以下のものではどうでしょうか? If InStr(1, TextBox1.Text, ".") Then MsgBox "YES" else MsgBox "NO" End If

関連するQ&A

  • ACCESS 除算での小数点切上げ方法

    こんにちは。 ACCESSを使った入力フォームにて、除算の自動計算を考えております。 テキストボックスAに入力された数値÷テキストボックスBに入力された数値  の結果をテキストボックスCに小数点切り上げで計算するにはどうしたらいいでしょうか? ご回答よろしくお願いします。

  • ACCESSで小数点だったら警告を出す

    テキストボックスに割り算をした結果を表示させるのですが、小数点であったら、ダイアログボックスで 警告文を出したいのです。 この小数点であったらというものを、VBAでどのようにすればよいのでようか? どなたか詳しい方教えてください。

  • ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法

    Excelのプログラムで、テキストボックスに例えば、「10.00」や「10.50」など小数点第二位まで0であっても表示させる方法はありませんか? あまり複雑になるようなら特に必要なプログラムではないのですが。 回答よろしくお願いします。

  • エクセルの配置での小数点での揃え方。

    エクセルで表を書いていて数値を小数点の位置で揃エクセルで表を書いていて数値を小数点の位置で揃えたいのですがどうやったらいいのでしょうか?? (例) -0.025 20.55 10.0 のように小数点が揃うように配置したいのですが・・・。 初心者なのでわかりません。教えてください!!

  • [Enter]エンターキーでカーソル移動する方法

    プログラム(VB.NET)初心者です。 どうぞよろしくお願いします。 フォームに複数のテキストボックスを配置しているのですが、 タブで次のテキストにフォーカスが移動するように [Enter]キー押下時もフォーカスを次のテキストに移動させたいのです。 色々試してみたものの、なかなかうまくいきません(><) どなたか、わかる方教えていただけたら幸いです。 サンプルソースがあると嬉しいです。 申し訳ありませんが、宜しくお願いします。

  • エクセル 小数点第2位 切捨て方法

    エクセル(XPです)で小数点第2位の切捨てをしたいのですが (何もしないと四捨五入してしまいます) どなたか教えていただけますでしょうか? 例えばなのですが、 7900/34700*100=22.7665・・・% で小数点第1位までの表示で 「22.8%」ではなく「22.7%」としたいのです。 初心者で申し訳ないですが どなたか教えていただけますでしょうか?

  • 小数点の切り上げ

    いつも参考にさせて頂いています。 javascript初心者です。 ある計算結果の数値で小数点以下が出た場合は切り上げを、 また、そうでなかった場合はそのままの数値を使うようなことを 行いたいのですがどのような条件文を作成すればいいのでしょうか? どなたか教えて下さる方がいらっしゃいましたらお願いします。

  • 入力値が小数なら、整数部・小数部の桁チェックをしたい。

    VB2005環境です。 テキストボックスに数値が入力された時、整数部分が4桁以上か、 小数部分が2桁以上になっている場合、警告メッセージを出したいと 考えています。 具体的には、 0.1→OK 99.9→OK 100.1→OK 0.01→NG 1001.9→NG 0.99→NG 1111→NG テキストボックスは数字以外の入力も許可しており、数字を 入力した場合だけのチェックです。 まずIsNumericで数値判定を行っているのですが、その後、上述の 小数桁チェックをどうしたら良いか悩んでいます。 また、99を入力した場合は99.0、09.1と入力した場合には9.1と、 整数部は一番左側に0があれば消し、小数部は未入力ならば".0"を 追加できたらと思っているのですが、うまくいきません。 実現するために必要な処理は、 ・入力値が数値か ・数値であれば、整数か、小数か ・整数部の桁チェック ・小数部の桁チェック(小数時) ・整数であれば、999.9の形になるよう変換 といったところかなと思うんですが、まず小数チェックで 躓いています。 参考にロジックを交えて教えていただけないでしょうか。 宜しくお願いします。

  • 小数点第2位の数値の計算

    下記のような処理があるとします。 Dim 変数1 As 宣言 Dim 変数2 As 宣言 Dim 変数3 As 宣言 Dim 変数4 As 宣言 変数1 = 0 変数2 = 0 変数3 = 0 変数4 = 0 変数1 = テキストボックス1.Text 変数2 = ラベル2.Caption 変数3 = ラベル3.Caption 変数4 = (変数2 + 変数3) - 変数1 ラベル4.Caption = 変数4 変数1~3には、小数点第2位までの 数値が入る事があるのですが、 例) 変数1 = 3.0 変数2 = 4.75 変数3 = 7.75 の場合、変数4 = 0 と計算される。 その場合、変数4の計算結果が 正しく出力されません。 宣言はDoubleを使うと計算結果は 16進数表示になり、Singleを使うと0になります。 正しい計算結果を出すには どのようにすれば良いでしょうか?

  • 浮動小数点について

    独学でプログラミングの勉強をしています。Wiki等で調べたりしましたが、 下記テキストの質問の計算が全く分かりません。 分かりやすく説明して頂けるとありがたいです。 宜しくお願い致します。 質問: 二つの浮動小数点の数字があり、SEEMMMM(S=符号付数値、E=指数、M=仮数)の形式で表示されています。 指数はエクセス数50、仮数は符号付数値、小数点は右の仮数に表示されます。 0 53 1110 0 50 3020 二つの数字を加算し、正しく表示された浮動小数点形式と実数をすべての計算式も含め表しなさい。

専門家に質問してみよう