14,304,866 members
Rate this:
See more:
Hello friends,
Good Evening
I want to covert the decimal values to the nearest decimal number i.e
Suppose my value is

87.6408
then O/P should be either 60 if below 5 and 70 above 5
87.60 or 87.70
Any help will be appreciated. I have tried
noo = Math.Round(noo, 2,MidpointRounding.ToEven);and also
Posted

Rate this:

## Solution 6

```double noo = Convert.ToDouble(txttotalamount.Text);
noo = Math.Round(noo, 1);

string numString = string.Format("{0:###0.00}", Math.Round(noo, 2, MidpointRounding.AwayFromZero));```
ProEnggSoft 16-Feb-12 20:32pm

If you know the solution, why have you posted the question?
This is same as Solution 5. You have to post it under solution 5 as your comment. You cannot take another solution and post as your solution.
Rate this:

## Solution 1

try:

`roundnoo = Math.Round(noo, 2); `

or
Rate this:

## Solution 2

Convert the decimal ToString("#.##")
Read the last char from string and decide if it should be down or up (60 or 70)
Santoshrohin 16-Feb-12 6:25am

Rate this:

## Solution 3

Try,

`noo = Math.Round(noo, 1, MidpointRounding.ToEven)`
Rate this:

## Solution 4

The way you describe your problem already holds the answer. You want to do rounding to 87.60 or 87.70 for example. You do rounding to two decimal values but actually you want one decimal, meaning you would like to round to 87.6 or 87.7 (the extra zero would only be for display and has no meaning for the number itself)

Good luck!
Santoshrohin 16-Feb-12 6:39am

Ya that's right but I am converting this value in word format so while printing i need to Print .60 or .70 to sixty or seventy paise.Please help me
E.F. Nijboer 16-Feb-12 7:26am

Just use this to format it for display: String.Format("{0:0.00}", 87.6); -> 87.60
Rate this:

## Solution 5

You may try
`string numString = string.Format("{0:####0.00}",Math.Round(num,2, MidpointRounding.AwayFromZero));`

0.00 in the format string ensures that .6 is printed as 0.60.

If your problem is solved, you can accept and vote the solution, so that other users can know that the question is answered, and they can view it if required. Otherwise please post your queries.

PES
Santoshrohin 16-Feb-12 7:08am

Thank you sir it is working as per my requirement for big decimal number but when the I/P is like 112.36
then it the O/P is Rupees One Hundred Twelve and Thirty Six Paise Only ,I want the paise should be forty instead of Thirty Six. Please help
ProEnggSoft 16-Feb-12 7:15am

Then put Math.Round(num,1,MidpointRounding.AwayFromZero), the 112.36 will be rounded to 112.4 and printed as 112.40
Santoshrohin 16-Feb-12 7:31am

Thank you sir.
ProEnggSoft 16-Feb-12 7:44am

If your requirement is fulfilled then you may accept and vote the solution, so that other users can see that the question is already answered. Otherwise please post your queries.

PES