В отличие от того, что все предлагают использовать спецификатор формата G
, я бы предложил следующее для сохранения как разделителя тысяч, так и десятичной точки при удалении дополнительных конечных нулей:
{0:#,#.##}
Результат этого формата оченьлучше чем G в большинстве случаев:
String.Format("{0:#,#.##}",25/2.4);
10.42
String.Format("{0:#,#.##}",1000000);
1,000,000
String.Format("{0:#,#.##}",1000000.3600000);
1,000,000.36
И спецификатор G
не может действительно обрабатывать все возможные комбинации:
String.Format("{0:G29}",25/2.4);
10.416666666666668
String.Format("{0:G2}",25/2.4);
10
String.Format("{0:G29}",1000000.3600000);
1000000.36
String.Format("{0:G2}",1000000.3600000);
1E+06