Преобразование десятичной дроби в строку, содержащую хотя бы ноль для целочисленного значения в C#C#

Место общения программистов C#
Ответить
Anonymous
 Преобразование десятичной дроби в строку, содержащую хотя бы ноль для целочисленного значения в C#

Сообщение Anonymous »

Я пытаюсь понять, как преобразовать в строки значения десятичного типа этих Account1, Account2, Account3 с хотя бы одним нулем после десятичного разделителя для целочисленных значений.

Код: Выделить всё

Person person = new()
{
Name = "Tom",
Account1 = 1m,
Account2 = 0.2m,
Account3 = 0.003m
};

var props = person.GetType().GetProperties();
foreach (var prop in props)
{
var value = prop.GetValue(person);
if (value?.GetType() == typeof(decimal))
{
decimal casted_value = (decimal)value;
Console.WriteLine(casted_value.ToString("0.0#", CultureInfo.InvariantCulture));
}
}

class Person
{
public string? Name { get; set; }
public decimal Account1 { get; set; }
public decimal Account2 { get; set; }
public decimal Account3 { get; set; }
}
Текущий результат:

Код: Выделить всё

1.0
0.2
0.0 // Expected: 0.03 => so I should add a "#" to "0.0#" but what if the account value is 0.0004? ... same issue...
Спасибо за помощь.

Подробнее здесь: https://stackoverflow.com/questions/781 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»