在 .NET 库中有类似的功能
System.Math.Round(double, int)
但是为什么我需要将 double 值转换为 float 才能使其工作..??
查看以下屏幕截图:
在 .NET 库中有类似的功能
System.Math.Round(double, int)
但是为什么我需要将 double 值转换为 float 才能使其工作..??
查看以下屏幕截图:
以下函数
Math.Round(double value, int digits)
返回一个double
. 我看到您已尝试为输出定义一个float
名称,其中是一个双精度值,并使用以下代码表示一个整数d
Math.Round(n,2)
n
1.12345
2
double n = 1.12345;
float d = Math.Round(n,2);
你实际上会得到一个错误,因为上述函数的输出是double
而不是float
.
Cannot implictly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?)
您可以通过更改float d = Math.Round(n,2);
为来解决此问题double d = Math.Round(n,2);
谢谢,
我希望你觉得这有帮助:)
从 double 转换为 float,您将失去精度,并且不能隐式完成。如果将浮点值分配给更准确的双精度变量,编译器不会抱怨。