Как установить значения маскированного текстового поля в десятичные числа?

Я новичок в 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 .... как обработать это исключение? Прости..! за мой плохой английский заранее спасибо


person rangasathish    schedule 15.11.2012    source источник
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
comment
могу я узнать, что здесь value? - person rangasathish; 15.11.2012
comment
я получил ошибку, например, не могу преобразовать из «строки» в «System.IFormatProvider» - person rangasathish; 15.11.2012
comment
Предполагая, что значение имеет десятичный тип, полученный из БД. Попробуйте преобразовать из Decimal в String. - person Furqan Safdar; 15.11.2012
comment
Кстати, спасибо, что отметили ответы низкого качества. Если вы видите что-то, что должно быть комментарием или только ссылкой, не могли бы вы пометить это как «Не ответ»? Это помогает модераторам в том, что у нас есть другие варианты рабочего процесса, чтобы упростить обработку этих флагов. - person casperOne; 15.11.2012