●問題点
現在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