while (reader.Read())
{
string MyNum = reader["BalanceAmt"].ToString();
String.Format("{0:#,###0}", MyNum);
BalanceBox.Text = (MyNum);
}
答案 0 :(得分:3)
如果reader["BalanceAmt"]
返回string
然后让您的数字格式生效,则需要在将其转换为货币之前将其转换为数字 - 即
var myNum = Convert.ToDecimal(reader["BalanceAmt"]);
BalanceBox.Text = myNum.ToString("C");
请注意传递到"C"
方法的decimal.ToString
货币格式说明符参数 - 请参阅MSDN Decimal.ToString Method Documentation。
如果Convert.ToDecimal
包含reader["BalanceAmt"]
无法处理的任何内容(非数字字符),则Convert.ToDecimal
方法会抛出异常。
您可能希望在此周围添加try..catch
,或者如果您不想抛出异常,请在Decimal.TryParse
支票中使用if
:
var balanceAmt = reader["BalanceAmt"];
if (decimal.TryParse(balanceAmt, out var myNum))
{
BalanceBox.Text = myNum.ToString("C");
}
答案 1 :(得分:0)
请使用此:
BalanceBox.Text = String.Format("{0:#,###0}", Convert.ToDouble(MyNum));
答案 2 :(得分:0)
while (reader.Read())
{
BalanceBox.Text = reader["BalanceAmt"].ToString("c");
}
在您的代码中String.Format("{0:#,###0}", MyNum);
MyNum永远不会更改...仅格式化。