有时货币格式似乎不起作用:
string Amount = "11123.45";
Literal2.Text = string.Format("{0:c}", Amount);
读取11123.45
它应该是:
$ 11,123.45
答案 0 :(得分:9)
该代码永远不会起作用 - 因为Amount是一个字符串,而不是一个数字。货币格式仅适用于数字。
例如:
decimal amount = 11123.45m;
Console.WriteLine(string.Format("{0:c}", amount);
(请注意,对货币使用 double 几乎总是一个坏主意,因为double不能完全代表许多十进制数。对于财务数据,Decimal是更合适的类型。)
答案 1 :(得分:2)
这是因为Amount是一个字符串而不是数字。
答案 2 :(得分:0)
这适用于我的情况
string Amount = "11123.45";
amount2 = amount.AsDecimal();
string.Format("{0:c}", @amount2)