i want format integer appears 1000's separator (,) my attempts far have been: string.format("{0:#,###.##}", 1234.0); // 1,234 string.format("{0:#,###.##}", 1234.05); // 1,234.05 string.format("{0:#,###.##}", 1234); // 1,234 i struggling display values output 1,234.0.. please suggest me how output string 1,234.0 ?? the way understand question: you want thousand separator every 3 digits on integer side you want 1 digit on fractional side additionally, guess that you want @ least 1 digit on integer side the problem format strings you're using you're using # specify digit positions. according documentation , character means: replaces "#" symbol corresponding digit if 1 present; otherwise, no digit appears in result string. (my emphasis) on other hand, 0 character: replaces 0 corresponding digit if 1 present; otherwise, 0 appears in result string. (again,