希望这是一个简单的答案,尽管网络搜索还没有产生任何效果。
要格式化数千个数字,您只需使用:
var output = String.Format("{0:n0}", 1000000);
// Output 1,000,000 or 1.000.000 depending on Culture
要格式化数字以始终在前面显示标记,您可以使用:
var output = String.Format("{0:+0;-0;+0}", 1);
// Output +1;
var output = String.Format("{0:+0;-0;+0}", -1);
// Output -1;
那么如何使用符号和千位分隔符格式化数字?
逻辑上它应该是这样,但它不起作用:
var output = String.Format("{0:+n0;-n0;+0}", -1000000);
// Expected output -1,000,000
// Actual output -n10000000
是否有允许这样的格式字符串并且尊重当前区域设置,其中千位分隔符可以是.
或,
?
答案 0 :(得分:1)
例如,如果字符串"#,#"并且使用不变文化来格式化数字1000,输出为" 1,000"。
var output = String.Format("{0:+#,#;-#,#;0}", 1000000);
答案 1 :(得分:0)
你可以尝试一下:
int num = -5000000;
Console.WriteLine(num.ToString("N0"));
编辑:道歉!我只关注负面符号。试一试:
string format = "+##,#;-##,#";
int num = -5000000;
int num2 = 5000000;
Console.WriteLine(num.ToString(format));
Console.WriteLine(num2.ToString(format));