C# The call is ambiguous between the following methods or properties: 'System.Math.Round(double, int)' and 'System.Math.Round(decimal, int)
My code won't compile due to the error below:
The call is ambiguous between the following methods or properties: 'System.Math.Round(double, int)' and 'System.Math.Round(decimal, int)
My code is
Math.Round(new FileInfo(strFilePath).Length / 1024, 1)
How can I fix this?
Thanks
Solution 1:
Math.Round(new FileInfo(strFilePath).Length / 1024d, 1)
Solution 2:
The problem is that you make an integer division (results also in an int
) and a int
can be implicitly converted to both double
and decimal
. Therefore, you need to make sure the expression results in one of those; double
is probably what you want.
Math.Round(new FileInfo(strFilePath).Length / 1024.0, 1)
Solution 3:
Math.Round((double) (new FileInfo(strFilePath).Length / 1024), 1)