Подтвердить что ты не робот

Как конвертировать десятичные числа? до десятичной

Возможно, это простой вопрос, но я пытаюсь использовать весь метод преобразования! и у него все еще есть ошибка! ты поможешь мне?

десятичное? (с десятичной точностью) до десятичной

4b9b3361

Ответ 1

Есть много вариантов...

decimal? x = ...

decimal a = (decimal)x; // works; throws if x was null
decimal b = x ?? 123M; // works; defaults to 123M if x was null
decimal c = x.Value; // works; throws if x was null
decimal d = x.GetValueOrDefault(); // works; defaults to 0M if x was null
decimal e = x.GetValueOrDefault(123M); // works; defaults to 123M if x was null
object o = x; // this is not the ideal usage!
decimal f = (decimal)o; // works; throws if x was null; boxes otherwise

Ответ 2

Попробуйте использовать оператор ??:

decimal? value=12;
decimal value2=value??0;

0 - это значение, которое вы хотите, когда значение decimal? равно null.

Ответ 3

Вам не нужно преобразовывать нулевой тип, чтобы получить его значение.

Вы просто пользуетесь HasValue и Value, выставленных Nullable<T>.

Например:

Decimal? largeValue = 5830.25M;

if (largeValue.HasValue)
{
    Console.WriteLine("The value of largeNumber is {0:C}.", largeValue.Value);
}
else
{
    Console.WriteLine("The value of largeNumber is not defined.");
}

В качестве альтернативы вы можете использовать нулевой оператор коалесценции в С# 2.0 или новее.

Ответ 4

Это зависит от того, что вы хотите сделать, если decimal? null, так как decimal не может быть null. Если вы хотите, чтобы значение по умолчанию равно 0, вы можете использовать этот код (используя оператор нулевого коалесцирования):

decimal? nullabledecimal = 12;

decimal myDecimal = nullabledecimal ?? 0;

Ответ 5

Вы можете использовать.

decimal? v = 2;

decimal v2 = Convert.ToDecimal(v);

Если значение равно null (v), оно будет преобразовано в 0.