这是与CsvHelper一起使用的模型中的一个属性。
[Name("z")]
public decimal Z {get; set;}
尝试导入数据时出现问题。有时该字段的输入数据采用类似于0.00E+00
的指数形式,有时看起来类似于280.11
。如何控制解析?我怀疑它涉及NumberStyles
,但不清楚如何使用它。
我可以对模型上的属性执行此操作吗?还是必须创建一个自定义类型转换器?
有几种方法可以做到这一点,最简单的可能是使用attirbute
[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