user226305 user226305 - 1 month ago 13
C# Question

Displaying numbers without decimal points

I want to display a number in a report, however I only want to show any decimal points if they are present and the I only want to show 1 decimal space.

e.g. if the number is 12 then I want to show 12

If the number is 12.1 then I want to show 12.1

If the number is 12.11 then I want to show 12.1

Answer

I had a very similar problem a while ago and the answer is to use a format string when converting the number to a string. The way to solve your issue is to use a custom numeric format string of "0.#"

double x = 12;
double y = 12.1;
double z = 12.11;
Console.WriteLine(x.ToString("0.#"));
Console.WriteLine(y.ToString("0.#"));
Console.WriteLine(z.ToString("0.#"));

Will give you the following output:

12

12.1

12.1