如何在php中将浮点值转换为整数?

2022-08-30 10:22:02

我想在php中将浮点值(例如:1.0000124668092E + 14)转换为整数,在php中最好的方法是什么.output应该是“100001246680920”


答案 1

转换是什么意思?

  • 铸造*:或(int) $floatintval($float)
  • 截断:(向下)或(向上)floor($float)ceil($float)
  • 舍入: - 具有其他模式,请参阅常量round($float)PHP_ROUND_HALF_...

*:强制转换有一些机会,浮点值不能用int表示(太大,或太小),f.ex。在你的情况下。

PHP_INT_MAX:此 PHP 版本中支持的最大整数。通常为 int(2147483647)。

但是,您可以使用BCMathGMP扩展来处理这些大数字。(两者都是有界的,你只需要启用这些扩展)


答案 2

我只想警告你:

>>> (int) (290.15 * 100);
=> 29014
>>> (int) round((290.15 * 100), 0);
=> 29015

推荐