现在我有
double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )
这会给我
$5,213.00
但我不想要“.00”。
我知道我可以每次都删除字符串的最后三个字符来达到效果,但似乎应该有一个更简单的方法。
现在我有
double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )
这会给我
$5,213.00
但我不想要“.00”。
我知道我可以每次都删除字符串的最后三个字符来达到效果,但似乎应该有一个更简单的方法。
首先 - 不要将货币保存在 a double
- 使用 adecimal
代替。每次。然后使用“C0”作为格式说明符:
decimal numba = 5212.6312M;
string s = numba.ToString("C0");
这应该做的工作:
String.Format("{0:C0}", Convert.ToInt32(numba))
后面的数字C
指定要包含的小数位数。
但是,我怀疑您确实想使用该decimal
类型来存储此类数字。
Console.WriteLine(numba.ToString("C0"));
我认为实现目标的正确方法是:
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalDigits = 0;
只有这样你才应该进行 Format 调用:
String.Format("{0:C0}", numba)
decimal value = 0.00M;
value = Convert.ToDecimal(12345.12345);
Console.WriteLine(".ToString(\"C\") Formates With Currency $ Sign");
Console.WriteLine(value.ToString("C"));
//OutPut : $12345.12
Console.WriteLine(value.ToString("C1"));
//OutPut : $12345.1
Console.WriteLine(value.ToString("C2"));
//OutPut : $12345.12
Console.WriteLine(value.ToString("C3"));
//OutPut : $12345.123
Console.WriteLine(value.ToString("C4"));
//OutPut : $12345.1235
Console.WriteLine(value.ToString("C5"));
//OutPut : $12345.12345
Console.WriteLine(value.ToString("C6"));
//OutPut : $12345.123450
希望这可以帮助你...
谢谢。:)
简单的:numba.ToString("C2")
更多 @ http://msdn.microsoft.com/pt-br/library/dwhawy9k(v=vs.110).aspx#CFormatString