LinqToCSV和十进制全球化
本文关键字:全球化 十进制 LinqToCSV | 更新日期: 2023-09-27 18:05:27
我正在尝试使用LingToCSV读取csv文件,其中包含带逗号的十进制值,分隔符而不是点。
这是一行输入:
"DataField1","DataField2"
"Test", "0,34"
我用这个类来读取它:
public class Record
{
[CsvColumn(Name = "DataField1", FieldIndex= 1)]
string DataField1 {get;set;}
[CsvColumn(Name = "DataField2", FieldIndex= 2, OutputFormat="C", NumberStyle=NumberStyles.Currency)]
decimal DataField2 {get;set;}
}
然而,这不起作用,并产生了这个异常:
第9行{"Value '"DataField2'"的字段或格式错误在类型"记录"中使用属性"DataFoe;d2"。"}
显然,它期待一个点,但我如何使用逗号使它工作
相信您需要在CsvFileDescription中设置FileCultureName…
CsvFileDescription fileDesc = new CsvFileDescription
{
FirstLineHasColumnNames = true
FileCultureName = "nl"
};