user226305
user226305

Reputation: 225

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

Upvotes: 19

Views: 37523

Answers (3)

John Nunn
John Nunn

Reputation: 621

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

Upvotes: 38

martin
martin

Reputation: 2997

What about

Math.Round(12.11,1)?

or

double number = 12.11;
numer.ToString("0.00")

Upvotes: 1

Richard
Richard

Reputation: 30618

This will return a number with a single (optional) decimal place.

String.Format("{0:0.#}", number)

Upvotes: 13

Related Questions