我无法在自定义格式化字符串
中格式化十进制0.656 => 0.67;
23.656 => 23.67;
5105.54 => 5 105.54;
1234567,89 => 1 234 567,89
我发现了几个帖子:
c# - Using String Format to show decimal upto 2 places or simple integer
c# - Converting Decimal to string with non-default format
但是当试图使用它们时会出现几个问题
例如: 价值
0.656我得到“.656”或“.66”
23.656 => “23.656”或“23.66”
有人推荐我可以找到格式字符串规则的链接吗?
答案 0 :(得分:1)
我认为您实际上并不想将0.656
转换为0.67
,因为这是错误的。我想你的意思是它应该显示为0.66
使用
YourNumber.ToString("0.##");
如果你真的想要空格(我认为这也是错误的):
YourNumber.ToString("#,##0.##").Replace("."," ")
答案 1 :(得分:1)
答案 2 :(得分:0)
如果要将数字格式化为货币值,请使用此
var d = 0.656;
Console.WriteLine("{0:C}", d); // prints "€ 0,66", in my case
确保您的本地化设置为您提供正确的货币符号和小数字符,I.E。点或逗号。