使用FileHelpers填充零

5

我正在使用FileHelpers创建NACHA文件。以下是示例:

许多属性都是带前导零的数字,因此它们被定义为字符串。是否有一种属性可以填充类属性中的前导零,类似于FieldTrim/TrimMode删除空格的方式?

[FixedLengthRecord()]
public class FileControlRecord
{
    [FieldFixedLength(1)]
    public int RecordTypeCode = 9; //Constant

    [FieldFixedLength(6)]
    public string BatchCount; //Numeric

    [FieldFixedLength(6)]
    public string BlockCount; //Numeric

    [FieldFixedLength(8)]
    public string EntryAddendaCount; //Numeric

    [FieldFixedLength(10)]
    public string EntryHash; //Numeric

    [FieldFixedLength(12)]
    public string TotalDebit; //$$$$$$$$$$cc

    [FieldFixedLength(12)]
    public string TotalCredit; //$$$$$$$$$$cc

    [FieldFixedLength(39)]
    [FieldNotInFile]
    public string RESERVED; //Blank
}
1个回答

8

您必须使用FieldAlign和填充字符:

[FixedLengthRecord()]
public class FileControlRecord
{
    [FieldFixedLength(1)]
    public int RecordTypeCode = 9; //Constant

    [FieldFixedLength(6)]
    public string BatchCount; //Numeric

    [FieldFixedLength(6)]
    public string BlockCount; //Numeric

    [FieldFixedLength(8)]
    public string EntryAddendaCount; //Numeric

    [FieldFixedLength(10)]
    public string EntryHash; //Numeric

    [FieldFixedLength(12)]
    [FieldAlign(AlignMode.Right, '$')]
    public string TotalDebit; //$$$$$$$$$$cc

    [FieldFixedLength(12)]
    [FieldAlign(AlignMode.Right, '$')]
    public string TotalCredit; //$$$$$$$$$$cc

    [FieldFixedLength(39)]
    public string RESERVED; //Blank
}

PS: 我建议您使用库的最新版本:

https://github.com/MarcosMeli/FileHelpers/releases/latest

或通过 NuGet https://www.nuget.org/packages/FileHelpers/


2
谢谢!产品很棒! - Bleeped

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接