如何将 CsvHelper 模型 属性 归因于控制数字解析?
How do I attribute a CsvHelper model property to control number parsing?
这是来自与 CsvHelper 一起使用的模型的 属性。
[Name("z")]
public decimal Z {get; set;}
尝试导入数据时出现问题。有时,此字段的输入数据采用指数形式,如 0.00E+00
,有时又如 280.11
。我怎样才能控制解析?我怀疑它涉及 NumberStyles
但不清楚如何使用它。
我可以使用模型上的属性执行此操作,还是必须创建自定义类型转换器?
有几种方法可以做到这一点,最简单的可能是装饰
[NumberStyles(NumberStyles.Number | NumberStyles.AllowExponent)]
public decimal Z { get; set; }
或
public class FooMap : ClassMap<Foo>
{
public FooMap()
{
Map(m => m.z).TypeConverterOption.NumberStyles(NumberStyles.Number | NumberStyles.AllowExponent);
}
}
或者,如果您真的很困惑,您可以编写自己的 TypeConverter
这是来自与 CsvHelper 一起使用的模型的 属性。
[Name("z")]
public decimal Z {get; set;}
尝试导入数据时出现问题。有时,此字段的输入数据采用指数形式,如 0.00E+00
,有时又如 280.11
。我怎样才能控制解析?我怀疑它涉及 NumberStyles
但不清楚如何使用它。
我可以使用模型上的属性执行此操作,还是必须创建自定义类型转换器?
有几种方法可以做到这一点,最简单的可能是装饰
[NumberStyles(NumberStyles.Number | NumberStyles.AllowExponent)]
public decimal Z { get; set; }
或
public class FooMap : ClassMap<Foo>
{
public FooMap()
{
Map(m => m.z).TypeConverterOption.NumberStyles(NumberStyles.Number | NumberStyles.AllowExponent);
}
}
或者,如果您真的很困惑,您可以编写自己的 TypeConverter