将数字从float转换为int返回出乎意料的答案



在执行简单数学时,PHP的意外结果从米中的单元转换为mm。

$width  = (float)1.0050;
echo 'Width: '.$width.'m';
$width = (int)($width*1000);
echo 'Width:'. $width . 'mm';

这是返回

宽度:1.005m
宽度:1004mm

预期的结果是1005mm。

任何帮助将不胜感激。

内部php代表$宽度为float,其值:1.0049999999999999铸造操作只需剥离昏迷之后的数字,您收到1004。

代替回合:

round($width * 1000);

我知道,(float)任何numberwithDecimals均不会以任何程序语言转换度量单位。它使演员表指定哪种类型的变量是。

最新更新