3

FileHelpersを使用して固定長のファイルを作成しています。私のモデルでは、0000.00形式で出力する必要があるdoubleがあります。とにかく、FileHelpers自体でこれを指定できますか、それともモデルを作成するときにモデルを文字列に変更して.ToString(my_format)を実行する必要がありますか?

4

1 に答える 1

4

FieldConverterFileHelpersライブラリのを使用してみましたか?

多分このようなもの。これはテストされていませんが、正常に機能する可能性があります。

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読み取りと書き込みの両方に適用されると思います。それがあなたのシナリオで機能するかどうかはわかりません。

于 2011-05-26T21:07:25.707 に答える