如果小数部分为0,这是将FLOAT数字格式化为INT的函数。
$formatted = (int)$i + $i - (int)$i;
// $i = 15.12 , $formatted = 15.12
// $i = 15.00 , $formatted = 15
但这似乎是PHP中的一个错误。我在PHP手册中没有找到INT+FLOAT操作的类型转换。在其他语言中,比如C++INT+FLOAT=FLOAT。
<?php
$i = 15.00;
$formatted = (int)$i + $i - (int)$i;
var_dump($formatted);
float(15)
它仍然是一个浮子。
00没有显示的原因是因为它正好是15。
如果你知道这个数字正好是15,但你不知道它来自哪里,那么你就不能假设它有任何精度。
例如,您是否期望$f=(float)15;显示15.00?不,当然不是。同样的概念也适用,只是在你期望15.00的上下文中。
此外,您可能会发现number_format()或round()很有用,除非这只是一个实验。