【发布时间】:2012-12-17 17:42:33
【问题描述】:
根据http://msdn.microsoft.com/en-us/library/6t7dwaa5.aspx,如果我想将数字显示为货币,我可以调用 .ToString() 并传递一个参数,在本例中为“C”
但是,根据下面来自 MSDN 站点的详细信息,它会自动删除减号 (-) 字符,这意味着我的值现在是正数。
int value = -16325;
// Display value using default ToString method.
Console.WriteLine(value.ToString()); // Displays -16325
// Display value using some standard format specifiers.
Console.WriteLine(value.ToString("G")); // Displays -16325
Console.WriteLine(value.ToString("C")); // Displays ($16,325.00)
Console.WriteLine(value.ToString("D")); // Displays -16325
Console.WriteLine(value.ToString("F")); // Displays -16325.00
Console.WriteLine(value.ToString("N")); // Displays -16,325.00
Console.WriteLine(value.ToString("X")); // Displays FFFFC03B
那么,如何使用减号保留它,我是否必须使用 Contains("-") 方法,如果它是真的添加 - 回来。
类似这样的代码(如果代码不正确,我们深表歉意,但你明白了)。
string x = (value.ToString().Contains("-") : "-" + value.ToString("C") ? + value.ToString("C"));
【问题讨论】:
-
如果您将“-”替换为 MSDN 所说的“(...)”,这是正确的,并且取决于 Windows 控制面板中用户的区域设置,如果用户想要查看(而不是减号,为什么要覆盖他/她的设置?
-
方括号表示应用当前文化中的负面因素
-
@DavidePiras - 好问题,在这种情况下,必须在远程服务器上设置软件,该服务器必须在我们的“主要”软件运行的区域设置中,我的应用程序只是一个除此之外;虽然每个人都会说英语,但对于帐户,它必须显示 - 或不显示!
-
@DaveRook 您可以随时将特定文化传递给
ToString...