问题描述
|
我正在使用FileHelpers创建固定长度的文件。在我的模型中,我有一个double,需要以0000.00格式输出。无论如何,我可以使用FileHelpers本身指定它,还是在创建模型时需要将模型更改为字符串并执行.ToString(my_format)?
解决方法
您是否尝试过使用FileHelpers库中的ѭ0?
也许是这样的。这未经测试,但是可能会使您工作:
using System;
using FileHelpers;
internal class MyDoubleConverter : ConverterBase
{
public override string FieldToString(object from)
{
return ((double) from).ToString(\"0000.00\");
}
}
[FixedLengthRecord]
public class MyRecordType
{
[FieldFixedLength(7)]
[FieldConverter(typeof(MyDoubleConverter))]
public double MyDouble;
}
或这可能有效,甚至更简单:
[FixedLengthRecord]
public class MyRecordType
{
[FieldFixedLength(7)]
[FieldConverter(ConverterKind.Double,\"0000.00\")]
public double MyDouble;
}
但是我认为这会在阅读和写作时强制执行0000.00
,我不知道这是否适合您的情况。