您好我的.cs文件中有此代码,输出为100449.00,但我想将其格式化为100,449.00这样的钱。这是我的代码,用于显示标签中的值。
var number = req.body.phone;
number = number.replace('~.*(\d{3})[^\d]{0,7}(\d{3})[^\d]{0,7}(\d{4}).*~', '$1$2$3');
答案 0 :(得分:2)
billing.Text = "$" + ds.Tables[0].Rows[0]["Billing"].ToString("N");
每this。
编辑:返回的内容是object
,您需要将其转换为小数。尝试:
((decimal)ds.Tables[0].Rows[0]["Billing"]).ToString("N");
答案 1 :(得分:1)
billing.Text = ds.Tables[0].Rows[0]["Billing"].ToString("c");
答案 2 :(得分:0)
来自DataTable
要求我们在格式化为文本之前转换为非可空类型。
我们实际上有几种不同的格式化方法。您的帖子在该值之前有一个硬编码的美元符号,在这种情况下,我们可以使用 F2 或 N2 格式字符串为我们提供一个小数点,右侧有2个位置并将其附加到您在那里的美元符号上:
billing.Text = "$" + ((decimal)ds.Tables[0].Rows[0]["Billing"]).ToString("F2");
// 123456.7890 will display as $123456.78
billing.Text = "$" + ((decimal)ds.Tables[0].Rows[0]["Billing"]).ToString("N2");
// 123456.7890 will display as $123,456.78
另一种选择是使用 C 格式,它将为我们添加文化特定货币符号和数字格式(小数点,逗号)
billing.Text = ((decimal)ds.Tables[0].Rows[0]["Billing"]).ToString("C");
// 123456.7890 will display as
// $123,456.78 en-US
// 123 456.78€ fr-FR
// you could also add a second overload to the ToString to specify