Вопрос в том, действительно ли вам нужна точность, хранящаяся в десятичной системе, а не просто отображение десятичной точки в требуемую точность. Большинство приложений знают внутренне, насколько точны они хотят быть и демонстрировать этот уровень точности. Например, даже если пользователь вводит счет-фактуру за 100 в пакете учетных записей, он все равно печатает как 100.00, используя что-то вроде val.ToString («n2»).
Как я могу создать b из? Как я могу создать b из c?
blockquote>c в b.
Console.WriteLine(Math.Round(2.00000000m, 1))
производит 2.0
a to b является сложным, поскольку концепция введения точности немного чуждо математике.
Я предполагаю, что ужасный взлом может быть в оба конца.
decimal b = Decimal.Parse(a.ToString("#.0")); Console.WriteLine(b);
производит 2.0