# Using Math.Round

I have the following operation sourceConflictingVolume = ((sourceRate * totalMinutes) / 60) * .001;

which is returning a number like 4.958333333333333.  I just need to show the 4.9 in a reprot to the user.  Can math.round do this?
###### Who is Participating?

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Freelance programmer / ConsultantCommented:
4.95 doesn't round to 4.9, it truncates

I think you need something like the following to truncate (note this is for +ve numbers).
Math.Round((sourceConflictingVolume * 10.0)/10.0, 1);
0
Freelance programmer / ConsultantCommented:
duh, silly mistake, should be this

Math.Round(Math.Truncate(sourceConflictingVolume * 10.0)/10.0, 1);
0
High School Computer Science, Computer Applications, and Mathematics TeachersCommented:
You might find this function useful:
``````private void button1_Click(object sender, EventArgs e)
{
double sourceConflictingVolume = 4.958333333333333;
label1.Text = DoubleTruncate(sourceConflictingVolume, 1);
}

private string DoubleTruncate(double value, int NumberOfDecimalPlaces)
{
double power = Math.Pow(10, NumberOfDecimalPlaces);
return (Math.Truncate(value * power) / power).ToString("0." + new string('0', NumberOfDecimalPlaces));
}
``````
0

Experts Exchange Solution brought to you by