In .NET Library there is Function like
System.Math.Round(double, int)
But why I need to cast double value to float to make it work..??
Look on the following screenshot:
In .NET Library there is Function like
System.Math.Round(double, int)
But why I need to cast double value to float to make it work..??
Look on the following screenshot:
The following function
Math.Round(double value, int digits)
Returns a double
. I see that you have tried to define a float
of name d
to the output from Math.Round(n,2)
where n
is a double of value 1.12345
and 2
represents an integer using the following code
double n = 1.12345;
float d = Math.Round(n,2);
You'll actually get an error because the output from the above function is double
and not a float
.
Cannot implictly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?)
You may fix this by changing float d = Math.Round(n,2);
to double d = Math.Round(n,2);
Thanks,
I hope you find this helpful :)
Converting from double to float, you will lose precision and it cannot be done implicitly. If you assign a float value to a double variable which is more accurate, the compiler will not complain.