我正在编写一个数学函数来提供一个立方体的体积,以便获得物体的总重量,其中每平方英寸的重量为0.28361111111111109
(存储为常数倍),这显然是非常具体的和精确的数字。
不过,回到问题所在,用这个数字计算方程而不是像0.28461
这样的四舍五入形式,还是更困难?或者计算机处理计算的方式基本上没有区别吗?
精度是理想的选择,但并不以牺牲性能为代价。
这对我来说更适用于.NET框架,但可能更普遍地适用于编程。
对于代码而言,特别值得的是:
public var Weight
{
get
{
double weight_per_square_inch = 0.28361111111111109;
double volume = this.Length * this.Thickness * this.Width;
return (volume * weight_per_square_inch) * this.Quantity;
}
}
答案 0 :(得分:2)
如果您提高精度,则双精度不会变慢,但可能不会在precision properly中保留小数点后17位。您需要查看其他类似Decimal的类型,它速度较慢但可以支持所需的高精度。
答案 1 :(得分:1)
如果需要精度,则可以更改为Decimal
类型。当我们计算应用程序中的数百万个项目时,我看到了数字上的巨大差异。在进行大容量计算时,十进制值确实会产生影响。
但是,如果您需要性能,那么double
将是最合适的选择。
由您决定要根据您的业务需求选择哪种类型。