質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

1576閲覧

【VB.NET】テキストボックスに入力した値に±符号を付与したい

momo842

総合スコア8

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/08/21 10:09

前提・実現したいこと

お世話になります。
VB.NETのテキストボックスに関してです。
テキストボックスに数値を入れると、その値を変数に格納して、
±の符号を自動で付与してくれるようにしたいです。

例えば100と入力した場合
MsgBoxでその変数をだすと、+100と表示され
-100と入力すれば -100と表示されるような感じです。

ご回答の程宜しくお願い致します。

該当のソースコード

VBNET

1 2Public Class Form1 3 4Public text1 as integer 5 6 Private Sub box1_TextChanged(sender As Object, e As EventArgs) Handles tmbyd.TextChanged 7 String.Format(text1, "+#,##0;-#,##0") 8 text1 = box.Text 9 End Sub 10 11End Class 12 13 14 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 15 MsgBox(text1) 16 End Sub 17 18End Class 19

試したこと

ネットで調べString.Formatを使用するといいと書いていたので、
見よう見まねで使ったのですが、上記コードだと符号はつかず、そのまま表示されてしまいます。(±がつかない)

原因は変数text1 をinteger型にしてるからだと思い、string形に変更したところ
コンパイルエラーで止まってしまいました。。。
±をつけたいのにinteger型なのが一番の問題だと思うのでが、対処法が全く分からず、、、

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
VS2019

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/08/21 10:27 編集

データバインディングを使えばテキストボックスに Excel のような書式が指定できます。 https://teratail.com/questions/76073 自分でやろうと思えばテキストボックスに何か入力したときに Validating Validated で文字列解析しなきゃいけないんじゃないでしょうか。
YAmaGNZ

2020/08/21 11:02

前の質問が解決したのであれば、解決済みにしましょう
YAmaGNZ

2020/08/24 05:44

TextChangedのイベントはtmbydというTextBoxのハンドラだと見受けられるのですがboxとは何なのでしょうか? また、各変数に何が入っているのか把握されていないようですが、デバッガで値の確認はやってみましたか?
guest

回答1

0

ベストアンサー

お世話になります。

下記コードのようにif文を使って条件分岐するのはいけてないでしょうか。
numの値は、質問者がおっしゃっているtextboxの値が入るかと思います。


Private Sub box1_TextChanged(sender As Object, e As EventArgs) Handles tmbyd.TextChanged
Dim num As Integer

**num = -100** **If num > 0 Then** **MsgBox("+" & num)** **Else** **MsgBox(num)** **End If****

End Sub

投稿2020/10/04 01:36

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momo842

2020/10/05 08:50

ご回答ありがとうございます。 自分も質問後ご回答者様と同様、値の正負判定で符号をつけるようなプログラムにしました。 ご助言ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問