我已经从数据库中检索了一个十进制值作为字符串:
billing_amt
100.0000
的值为150.0000
,0.0000
,get_amt
。
我尝试使用代码显示string.Format("{0:0.00}", get_amt)
的值,最多四位小数:
get_amt
但它不起作用。如何将100.00
的值显示为150.00
或getDatabaseScore
?请建议。
答案 0 :(得分:0)
你可能想尝试类似的东西:
double get_amt = 0;
if (dt_.Rows[i]["billing_amt"] != DBNull.Value)
get_amt = Convert.ToDouble(dt_.Rows[i]["billing_amt"]);
然后:
string.Format("{0:0.00}", get_amt)
应该有用。
它目前无效,因为它是您尝试格式化的字符串值 - 不会有小数位。
答案 1 :(得分:0)
严格来说,您可以使用正则表达式将字符串剪切为2位小数,如下所示:
string formatted = Regex.Match(unformattedString, @"^-?\d+\.\d{2}").Value;
话虽这么说,你几乎从不想用字符串来保存号码信息。让他们做你想做的事情是一件麻烦和痛苦的事。将它们存储为double
或decimal
更为明智,然后只在必要时才转换为字符串。