lsj*_*rts 5 php mysql string casting decimal
默认情况下,mysqli将所有值作为字符串返回,该MYSQLI_OPT_INT_AND_FLOAT_NATIVE选项允许您将int和float转换为适当的类型.虽然这不会影响十进制字段.
MYSQLI_OPT_INT_AND_FLOAT_NATIVE
有没有办法自动将所有十进制字段强制转换为php浮点类型而无需手动调用$value = (float) $row->some_decimal_field?
$value = (float) $row->some_decimal_field
Jer*_*oek 6
我非常怀疑。小数使用定点数学,并且 PHP 中没有数据类型可以提供这一点。浮点数接近,但实际上是四舍五入的,这意味着将 2 分配给浮点数可能会导致 1.99999999999999999。因此,即使 MySQL 提供了一种将小数转换为 PHP 浮点数的方法,您也可能因将小数点转换为浮点数而导致数据丢失。
为了干净地处理这个问题,你需要像GMP这样的东西,但你可能猜到 MySQL 不能自动为你提供它。您需要在 PHP 中手动执行此操作。
归档时间:
12 年,3 月 前
查看次数:
2652 次
最近记录: