Raja Ganapathy Ответов: 3

Как передать пустое десятичное значение?


У меня есть использование ниже двух для выделения пустого значения в строку и передачи пустого строкового значения.

строку "test" = "";
string test1 = строка.Пустой;

Но я использую десятичную дробь как пустую
decimal test3 = ""; 
this is show
Cannot Implicitly convert type 'string' to 'decimal'


Что я уже пробовал:

попробуйте другой, чтобы обратиться в интернете, чтобы использовать для исправления этого
string test1 = string.Empty;
decimal test2 = decimal.Parse(test1);
but it shows 
Input string was not in a correct format. 

[no name]

"Входная строка была не в правильном формате", да и какое десятичное значение, по-вашему, даст вам""? десятичные дроби не могут быть "пустыми", если вы не сделаете их обнуляемыми. Похоже, вам нужно пересмотреть некоторые основные принципы работы с типами данных.

Patrice T

В принципе, пустых десятичных значений не существует.

3 Ответов

Рейтинг:
5

Poonam Patel 10678835

Вы не можете присвоить строковое значение переменной десятичного типа
Надеюсь, это может помочь вам.


string test1 = строка.Пустой;

десятичные условие_2 = десятичное.Синтаксический анализ(условие_1==строка.Пусто? "0.00": тест1);


Рейтинг:
26

Karthik_Mahalingam

Вы не можете назначить string ценность для decimal переменная типа
использовать

decimal a= default(decimal);
 // or 
 decimal a1 = 0;


Рейтинг:
20

OriginalGriff

Вы не можете установить десятичное число в "пустое" - это тип значения, который содержит только числовые значения.
Есть два основных способа справиться с этим:
1) Установите его в "бесполезное" значение - это может быть ноль, decimal. MinValue или decimal.MaxValue. Затем вы можете проверить, действительно ли это конкретное значение, и при необходимости проигнорировать его.
2) Используйте десятичную дробь с нулевым значением:

decimal? test3 = null;
if (test3.HasValue)
   {
   decimal val = test3.Value;
   ...
   }
Видеть Nullable Types (Руководство По Программированию На C# )[^] для получения дополнительной информации.