2011-05-26 67 views
1

我使用FileHelpers來創建固定長度的文件。在我的模型中,我有一個需要以0000.00格式輸出的double。無論如何,我可以用FileHelpers本身指定它,還是需要將模型更改爲字符串,並在創建模型時執行.ToString(my_format)?使用FileHelpers輸出格式化

回答

2

您是否嘗試過使用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] 公共類MyRecordType { [FieldFixedLength (7)] [FieldConverter(ConverterKind.Double,「0000.00」)] public double MyDouble; }

但我認爲這將強制執行0000.00閱讀和寫作,我不知道這是否適用於您的方案。

+0

其他方式你只是實現StringToField方法:) – mikus 2014-06-04 19:21:18