【问题标题】:How to convert number into decimal with shifted decimal separator?如何使用移位的小数分隔符将数字转换为十进制?
【发布时间】:2016-05-11 20:54:25
【问题描述】:

我必须导入具有以下格式数量的文件:

Id    Amount
101   123456 
102   456789

我正在使用带有[FieldConverter(ConverterKind.Decimal)] 属性的FileHelpers 库,但它将金额转换为:

12356 --> $123456

我希望它将最后两位应用于小数。我希望它看起来像这样:

123456 --> $1234.56
456789 --> $4567.89

有什么想法吗?谢谢。

更新:我想出了自己的解决方案。我创建了一个名为Amount 的单独字段,它根据文件中提供的金额计算付款金额,该金额被解析为名为@9​​87654327@ 的私有变量。

[DelimitedRecord(",")]
public class PaymentFileRecord
{
    public int PaymentId;

    [FieldConverter(ConverterKind.Date, "yyyyMMdd")]
    public DateTime PaymentDate;

    [FieldConverter(ConverterKind.Decimal)]
    private decimal AmountRaw;

    public decimal Amount
    {
        get { return AmountRaw / 100; }
    }
}

【问题讨论】:

    标签: c# csv filehelpers file-import


    【解决方案1】:

    试试这个:将收到的数字除以 100。

    【讨论】:

    • 谢谢,约翰。我用我的解决方案编辑了问题。
    猜你喜欢
    • 2018-04-06
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 2014-01-06
    • 2021-05-26
    • 1970-01-01
    相关资源
    最近更新 更多