如何将 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);
理想情况下,您会将金额存储为数值而不是字符串,但如果这不可能,请添加一些异常处理以确保它不会在运行时崩溃。
我正在从 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);
理想情况下,您会将金额存储为数值而不是字符串,但如果这不可能,请添加一些异常处理以确保它不会在运行时崩溃。