質問: currentPoint - 1; } //ここの処理です。 else { decimal_point(txtBox); //小数点の制御 } } //○ head_decimal(txtBox); //先頭が小数点なら先頭に 0 を入れる } } }//○ catch (Exception ex) //エラー時の処理 { Console.Error.WriteLine(ex); }//○ finally //最後に必ず処理する { txtBox.TextChanged += textWeight_TextChanged; } } ```
回答: Decimal使っちゃまずいのかな? ``` var value = txtBox.Text; decimal d0, d1, d2; d0 = Decimal.Parse(value); d1 = Decimal.Round(d0); // 整数化 d2 = Decimal.Round(d0, 1); // 小数第1位までの小数化 if (d1.ToString().Equals(d2.ToString()) { d0 = d1; // 入力が整数だった場合、d1,d2の文字列表現は同じ。 } else { d0 = d2; } // txtBox.Text = Decimal.ToString(d0); // ←誤 txtBox.Text = d0.ToString(); // ←正 ```