# [c#] How to remove decimal part from a number in C#

I have number of type double. double a = 12.00 I have to make it as 12 by removing .00

This question is related to `c#`

here is a trick

``````a =  double.Parse(a.ToString().Split(','))
``````

Well `12` and `12.00` have exactly the same representation as `double` values. Are you trying to end up with a `double` or something else? (For example, you could cast to `int`, if you were convinced the value would be in the right range, and if the truncation effect is what you want.)

You might want to look at these methods too:

Because the numbers after point is only zero, the best solution is to use the Math.Round(MyNumber)

If you just need the integer part of the double then use explicit cast to int.

``````int number = (int) a;
``````

You may use Convert.ToInt32 Method (Double), but this will round the number to the nearest integer.

value, rounded to the nearest 32-bit signed integer. If value is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6.

It removes the fractional part from the decimal.

``````int i = (int)Decimal.Truncate(12.66m)
``````

Reading all the comments by you, I think you are just trying to display it in a certain format rather than changing the value / casting it to `int`.

I think the easiest way to display `12.00` as `"12"` would be using string format specifiers.

``````double val = 12.00;

string displayed_value = val.ToString("N0"); // Output will be "12"
``````

The best part about this solution is, that it will change `1200.00` to `"1,200"` (add a comma to it) which is very useful to display amount/money/price of something.

``````int d = (int) Math.Round(a, 0);