#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")]