Вы пытались использовать FieldConverter
s из библиотеки FileHelpers?
Может быть, что-то вроде этого.Это не проверено, но может привести вас на рабочий путь:
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
для чтения и письма, и я не знаю, сработает ли это в вашем сценарии.