public static void Main()
float floatValue = 123000.18f;
decimal decimalValueFromString = decimal.Parse(floatValue.ToString("R"));
Console.WriteLine("123000.18f: " + String.Format("{0:### ### ###.##}", decimalValueFromString));
floatValue = 1023000.18f;
decimalValueFromString = decimal.Parse(floatValue.ToString("R"));
Console.WriteLine("1023000.18f: " + String.Format("{0:### ### ###.##}", decimalValueFromString));
Console.WriteLine("float: " + String.Format("{0:### ### ###.##}", t));
Console.WriteLine("double: " + String.Format("{0:### ### ###.##}", (double)1000018.18f));
Console.WriteLine("decimal: " + String.Format("{0:### ### ###.##}", (decimal)1000018.18f));
Console.WriteLine("test: " + String.Format("{0:### ### ###.##}", 10000018.18d));
Console.WriteLine(1234567f.ToString("#.##"));
Console.WriteLine(12345678f.ToString("#.##"));
Console.WriteLine(123456789f.ToString("#.##"));
Console.WriteLine(1023456789f.ToString("#.##"));
Console.WriteLine(String.Format("{0:### ### ###.##}", decimal.Parse(16777217f.ToString("R"))));
Console.WriteLine(String.Format("{0:### ### ###.##}", decimal.Parse(16777218f.ToString("R"))));