繁体   English   中英

我的千克和磅转换始终偏离很大

[英]My kg and lbs conversion is always off by significant amount

我正在尝试以公制单位存储所有度量,但是希望用户能够以公制或英制查看或提交。 我使用的是非常精确的转换,而且我绝对可以确定使用的数字是正确的。 尽管如此,每次我输入180磅,转换为kg或MySQL存储并将其转换回lbs时,结果都是180.77905484。 这是我的代码。

以kg形式进入数据库之前

$weight = $weight * 0.45359237;

从数据库中检索为kg后

$kg_conv = 2.20462262;
echo $progress->weight * $kg_conv;

我会知道它是否减少了百分之一磅,或者减少了几磅,但是为什么它只减少了0.77磅呢?

您正在(某处)舍入换算后的千克值。

180 * 0.4535923781.6466266 ,很好。

81.6465266 * 2.20462262179.99999985 ,这也很好。 这是由于浮点导致的精度损失的范围之内。 数字和数学都很好。

但是,您没有这些数字。 你不能。 您的值180.77905484是精确输入82的千克的结果。 82 * 2.20462262是您得到的180.77905484

因此,在某个地方,无论是在写入数据库之前还是在从数据库读取之后,您都将四舍五入后的千克值转换为180 * 0.45359237 ,从81.6466266变为82

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM