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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

VB.NET

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

Q&A

2回答

7030閲覧

VB.NETで電卓作成中。.(小数点)直後に0を入力すると型変換のときに小数点以下が消えてしまいます

freebird

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

VB.NET

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

0グッド

0クリップ

投稿2018/04/13 08:55

編集2022/01/12 10:55

●問題点
現在VB.NETで電卓を作成しており、データの型変換に手こずっています。
小数点ボタンを押下した直後に数字0ボタンを入力すると、0が足されず小数点も消えてしまいます。
例えば「2」、「.」、「0」と押して 2.0 としたいのに 2 となってしまいます。

------------------------------

●予想される原因
テキストボックス(TextBox.Text)に入力した数値を3桁ずつ区切るカンマをつける処理を行う際、
String型からDecimal型に変えるとき(ToDecimalプロシージャ)、小数点と0を取っ払ってしまうのが
原因であると考えていますが、解決方法がわかりません。
ご存知の方、ご指南いただけると助かります。

------------------------------

●以下コード
' 数字0ボタンクリック処理
Private Sub BtnZero_Click(sender As Object, e As EventArgs) Handles BtnZero.Click



ansdc = ToDecimal(TextBox.Text)
ans = String.Format("{0:#,0.##########}", ansdc)
TextBox.Text = ans





' TextBox.Textの中身をDecimal型にするプロシージャ(.Replaceのカンマ削除は、999以下でカンマがなければスルーされる) Private Function ToDecimal(ByVal textcomma As String) As Decimal Return Decimal.Parse(textcomma.Replace(",", "")) ' ←必ずしもメソッドの中身が「=」を持った形とは限らない(当然) End Function

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

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

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

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

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

YAmaGNZ

2018/04/13 09:02

前の質問もそうですが、現象が出るコードを省略せずに掲載したほうが回答が得られます。
guest

回答2

0

= が押されるまでテキストボックスの内容を変化させる必要はないと思います。
たいていの電卓でそうなっているのでは?

投稿2018/04/13 13:53

Zuishin

総合スコア28656

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

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

0

小数点を使いSplitで整数部と小数部に分けた後、
整数部にカンマを付ける処理をした後、小数点と小数部を
付けなおしてください。

投稿2018/04/13 09:19

sh_akira

総合スコア380

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問