如何将sql nvarChar转换为格式化的十进制数

时间:2017-02-27 17:32:33

标签: c# string.format

我从nvarchar类型的数据库中提取一个值。我的C#程序试图格式化值,但它不起作用。

    string paymentAmount = null;

    if (dbDataReader["Amount"] != DBNull.Value)
    {
     paymentAmount = string.Format("{0:0,0.00}", dbDataReader["Amount"]).TrimStart('0');
    }

数据库中的数据如下所示:

Amount 
0017168

执行上述代码后,数字为17168.如何将此数字格式化为171.68?

1 个答案:

答案 0 :(得分:1)

var amount = decimal.Parse(dbDataReader["Amount"]) / 100;
paymentAmount = string.Format("{0:0,0.00}", amount);

理想情况下,您将金额存储为数值而不是字符串,但如果不可能,请添加一些异常处理以确保它在运行时不会爆炸。