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

How to convert sql nvarChar to formatted decimal

我正在从 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?

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

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