有人可以详细说明以下格式字符串吗?我没有完全意识到这个意思。
String.Format("{0:#,0.##}", money);
感谢。
答案 0 :(得分:3)
我没有我的开发系统所以我无法验证我要说的内容,但这是我的解释:
格式部分为“#,0。##”。我认为“#,0”部分指定逗号应该分开数千(例如1,000,000)。并且“。##”指定小数点后的位数。我本以为你需要“.00”来强制两位数(这对货币来说是正常的)。但我希望你所拥有的至少会导致小数点后四位数的四舍五入。
你试过吗?
答案 1 :(得分:2)
这意味着钱有千位分隔符(,),如果是十进制值,它将四舍五入到两位数,如果只有十进制值(.256)则为(0.27)
decimal money=12341257 //output= 12,341,257
decimal money=1257 //output= 1,257
decimal money=1257.25 //output= 1,257.25
decimal money=1257.2468 //output= 1,257.25
decimal money=.50 //output= 0.50
decimal money=.759 //output= 0.76
<强>解释强>
"{0:#,0.##}"
#,0 //means that , as thousand seperator
0.## //means that 0 is placed before if only decimal values as .56 to 0.56
0.## //means if contains decimal then only display 2 digits after decimal
0.00 //means 2 digits after decimal must be displayed whether or not money contains decimal value
答案 2 :(得分:0)
我认为这是一种带有千位分隔符的货币格式,如果包含十进制值,则仅显示小数点后的前两位。
这里自定义格式字符串的概述:
http://blog.stevex.net/string-formatting-in-csharp/
此链接包含更多详细信息,包括使用“,”char:
的千位分隔符的更自由形式的描述
http://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.71%29.aspx
答案 3 :(得分:0)
基本上,这会将格式设置为千位分隔符和2位小数。根据Microsoft文档,数字将四舍五入到正确的小数位。
这是自定义数字格式字符串的良好资源: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx