使用FileHelpers输出格式

时间:2011-05-26 16:44:25

标签: .net filehelpers

我正在使用FileHelpers来创建固定长度的文件。在我的模型中,我有一个需要以0000.00格式输出的double。无论如何我可以用FileHelpers本身指定它,还是我需要将模型更改为字符串并在创建模型时执行.ToString(my_format)?

1 个答案:

答案 0 :(得分:4)

您是否尝试过使用FileHelpers库中的FieldConverter

也许是这样的。这是未经测试的,但它可能会让您走上正轨:

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,我不知道这是否适用于你的场景。