2017-02-09 72 views
0

格式化用逗号数字和小数点写入功能

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     string Str = null; 
     Str = string.Format(CultureInfo.InvariantCulture,"{0:c}", 9989.87); 
Console.WriteLine(Str); 
    } 
} 

输出C#代码为:$ 9,989.87,但我想为$ 9,989.87

+0

['的String.Format(CultureInfo.InvariantCulture, “{0:N}”,9989.87)'](http://stackoverflow.com/questions/3360942/string-format-vs-tostring-and-using-invariantculture) – Slai

+0

[String.Format vs ToString和使用InvariantCulture]( http://stackoverflow.com/questions/3360942/string-format-vs-tostring-and-using-invariantculture) –

+0

感谢Slai,它的工作..如果我使用{0:C},则{0:N}价值即将与货币也......但问题是货币和价值之间没有空间..我如何把他们之间的空间......我喜欢这样的Str = string.Format(CultureInfo.InvariantCulture,+“” +“{0:c}”,9989.87);但这是抛出错误... – user7408807

回答

0

为了避免某些特定的文化设置,你可以尝试指定格式:

string str = 9989.87.ToString("$ #,##0.00"); // or = $"{9989.87:$ #,##0.00}"; in VS 2015 

或更好

var str = "$ " + 9989.87.ToString("n", System.Globalization.CultureInfo.InvariantCulture); 

的Visual Studio 2015插串版本:

var str = System.FormattableString.Invariant($"$ {-9989.87:n}"); // "$ -9,989.87" 

或具有不同的格式,负序和零个值与; section separator

var ss = $"{-9989.87:$ #,##0.00;-$ #,##0.00;-}";     // "-$ 9,989.87"