使用FileHelpers进行输出格式化

问题描述

| 我正在使用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
,我不知道这是否适合您的情况。