Форматирование десятичных столбцов с помощью LINQtoCSV

#c# #linq #linqtocsv

#c# #linq #linqtocsv

Вопрос:

Мне нужно отформатировать десятичное поле в файле .csv, который я пишу с помощью библиотеки LINQtoCSV этого формата: 95.43000000 для этого формата 95.43 . Я сопоставляю это поле следующим образом:

 [CsvColumn(Name = "Price", OutputFormat = "C")]
public decimal? Price { get; set; }
  

что дает мне денежную ценность $95.43 . Я загружаю данные так, чтобы они были доведены до 6-го знака после запятой, но мне нужно исключить строки нулей в конце:

 Price = Math.Round(AdjustPrice(x.Price, x.Ticker), 6)
  

Кто-нибудь может помочь?

Комментарии:

1. Формат c — это валюта с двумя десятичными знаками. Измените формат c в соответствии со следующим: learn.microsoft.com/en-us/dotnet/standard/base-types /…

2. «этого формата: … для этого формата» — что это значит?

3. Вместо использования C средства форматирования валюты вместо этого используйте F2 формат с фиксированной запятой для желаемого вывода. Вы можете протестировать это следующим образом: Console.WriteLine($"{price:F2}"); . Итак, в вашем коде это должно выглядеть так: [CsvColumn(Name = "Price", OutputFormat = "F2")]