У меня есть фрагмент кода ниже того, с которым я пытаюсь работать.Строки, десятичные разряды и нуль в C#
decimal preTestAir = decimal.Parse(AirPreTestTextBox.Value);
preTestAir
является decimal
и должен оставаться decimal
для отправки в базу данных. Это не может измениться. То, что я пытаюсь сделать, это определить, является ли AirPreTestTextBox.Value
нулевым, назначить ему значение decimal
0.00
, а затем присвоить его decimal
preTestAir
. Приведенный выше код отлично работает, если в текстовом поле есть некоторое числовое значение. Что делать, если в текстовом поле нет значения? Приложение аварийно завершает работу. Как определить, имеет ли значение AirPreTestTextBox.Value
значение null, и присвоить значение, если оно находится в одной строке? Причина для одной строки состоит в том, что у меня есть почти 100 строк кода, которые нужно отформатировать таким образом. Я пробовал использовать такие операторы, как ??
, которые не будут работать с десятичными знаками, которые не являются типом NULL. Может ли кто-нибудь помочь? Любая помощь приветствуется!
Это сработало, когда я сменил 0.00 на 0. Спасибо! –
@GreenDeveloper '0,00' - это' double', а не 'decimal'. И '0' - это' int', но ints неявно конвертируются в тип 'decimal'. Вы можете использовать '0m',' 0.0m' или '0.00m'. 'M' для' decimal'. Количество конечных нулей имеет значение, но в зависимости от вашего использования вы, вероятно, можете использовать любой из них. Int '0' становится десятичным' 0m' без конечных нулей. –