Я новичок в C#. Здесь я использую masked textbox
и устанавливаю маску как 00.0
. И в базе данных соответствующее поле хранится в decimal(3,1)
, при извлечении в замаскированное текстовое поле оно будет давать неточные значения, если я сохранил 12,3, 23,8, 45,7, эти типы значений я получил решение. Но вместо них, если мы используем 1,3, 3,5, 5,6, я получил в мое замаскированное текстовое поле как 13.0, 35.0, 56.0 .... как обработать это исключение? Прости..! за мой плохой английский заранее спасибо
Как установить значения маскированного текстового поля в десятичные числа?
comment
Вы пытались изменить свою маску на 0.##?
- person Adil Mammadov   schedule 15.11.2012
comment
Я установил маску как #0.0 и 0.##, но это дает тот же результат.
- person rangasathish   schedule 15.11.2012
comment
Я думаю, что ваш вопрос очень близок к этому! --› winform — Разрешить только числовые значения в maskedtextbox Взгляните и на это --› Быстрые ответы проекта кода
- person CRoshanLG   schedule 15.11.2012
Ответы (1)
При установке обратно MaskedTextBox
попробуйте преобразовать значение decimal
в соответствии с каким-либо форматом:
maskedTextBox1.Text = value.ToString("0#.#");
Таким образом, вы получите 01,3 вместо 13,0.
person
Furqan Safdar
schedule
15.11.2012
могу я узнать, что здесь
value
?
- person rangasathish; 15.11.2012
я получил ошибку, например, не могу преобразовать из «строки» в «System.IFormatProvider»
- person rangasathish; 15.11.2012
Предполагая, что значение имеет десятичный тип, полученный из БД. Попробуйте преобразовать из Decimal в String.
- person Furqan Safdar; 15.11.2012
Кстати, спасибо, что отметили ответы низкого качества. Если вы видите что-то, что должно быть комментарием или только ссылкой, не могли бы вы пометить это как «Не ответ»? Это помогает модераторам в том, что у нас есть другие варианты рабочего процесса, чтобы упростить обработку этих флагов.
- person casperOne; 15.11.2012