使用静态方法 String.Format将浮点数转换为字符串
//强制2位小数
Console.WriteLine(String.Format("{0:0.00}", 123.4567)); //123.46
Console.WriteLine(String.Format("{0:0.00}", 123.4)); //123.40
Console.WriteLine(String.Format("{0:0.00}", 123.0)); //123.00
//非强迫2位小数,省略后续0
Console.WriteLine(String.Format("{0:0.##}", 123.4567)); //123.46
Console.WriteLine(String.Format("{0:0.##}", 123.4)); //123.4
Console.WriteLine(String.Format("{0:0.##}", 123.0)); //123
//强迫前面补齐2位,不能省略前置0
Console.WriteLine(String.Format("{0:00.0}", 123.4567)); //123.5
Console.WriteLine(String.Format("{0:00.0}", 23.4567)); //23.5
Console.WriteLine(String.Format("{0:00.0}", 3.4567)); //03.5
//添加千位分隔符
Console.WriteLine(String.Format("{0:0,0.0}", 12345.67)); //12,345.7
Console.WriteLine(String.Format("{0:0,0}", 12345.67)); //12,345
//格式化零
Console.WriteLine(String.Format("{0:0.0}", 0.0)); //0.0
Console.WriteLine(String.Format("{0:0.#}", 0.0)); //0
Console.WriteLine(String.Format("{0:#.0}", 0.0)); //.0
Console.WriteLine(String.Format("{0:#.#}", 0.0)); //""
//添加空格,满足指定字符串长度要求,后置空格用负号
string s1 = String.Format("{0, 10:0.0}", 123.4567);
Console.WriteLine(s1); //“ 123.5”
Console.WriteLine(s1.Length.ToString()); //10
string s2 = String.Format("{0, -10:0.0}", 123.4567);
Console.WriteLine(s2); //“123.5 ”
Console.WriteLine(s2.Length.ToString()); //10
string s3 = String.Format("{0, 10:0.0}", -123.4567);
Console.WriteLine(s3); //“ -123.5”
Console.WriteLine(s3.Length.ToString()); //10
string s4 = String.Format("{0, -10:0.0}", -123.4567);
Console.WriteLine(s4); //”-123.5 “
Console.WriteLine(s4.Length.ToString()); //10
//负号和零的自定义格式
Console.WriteLine(String.Format("{0:0.00;fuhao 0.00;zero}", 123.4567)); //123.46
Console.WriteLine(String.Format("{0:0.00;fuhao 0.00;zero}", -123.4567)); //fuhao 123.46
Console.WriteLine(String.Format("{0:0.00;fuhao 0.00;zero}", 0.0)); //zero