格式字符串作为货币

问题描述:

我有string变量包含价格。例如,10000。我想用千位分隔符的空间。
例如display 10000 as 10 000150000 as 150 000
我该怎么做?格式字符串作为货币

手动试试这个

NumberFormatInfo info = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone(); 
    info.NumberGroupSeparator = " "; 

    Console.WriteLine(12345.ToString("n", info)); // 12 345.00 
+0

我有一个字符串不是int。 – user1260827 2012-04-28 08:20:00

+0

将条件解析为int或decimal,以使用常见解决方案来处理数字。 – 2012-04-28 08:21:37

转换使用LINQ:

var n = "10000000"; 
var s = n 
    .Select((c, i) => c + ((n.Length - i - 1) % 3 == 0 ? " " : "")) 
    .Aggregate((s2, s3) => s2 + s3);