php怎么将float转换成int类型
PHP中将float转换成int类型的方法:1、使用强制类型转换,在要转换的float变量之前加上用括号括起来的目标类型“(int)”即可,例“(int)3.14”;2、使用intval()函数,可以获取变量的整数值。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
php将float转换成int类型
1、强制类型转换–在要转换的变量之前加上用括号括起来的目标类型
允许转换的PHP数据类型有:
-
(int)、(integer):转换成整形
-
(float)、(double)、(real):转换成浮点型
-
(string):转换成字符串
-
(bool)、(boolean):转换成布尔类型
-
(array):转换成数组
-
(object):转换成对象
示例:将float类型转换成int类型
<?php $num1=3.14; $num2=(int)$num1; var_dump($num1); //输出float(3.14) var_dump($num2); //输出int(3) ?>
输出:
【推荐学习:《PHP视频教程》】
2、使用intval()函数
<?php $num1=123.9; $num2=intval($num1); var_dump($num1); var_dump($num2); ?>
输出:
intval() 函数用于获取变量的整数值。
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。
语法:
int intval ( mixed $var [, int $base = 10 ] )
参数说明:
-
$var:要转换成 integer 的数量值。
-
$base:转化所使用的进制。
如果 base 是 0,通过检测 var 的格式来决定使用的进制:
-
如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);否则,
-
如果字符串以 "0" 开始,使用 8 进制(octal);否则,
-
将使用 10 进制 (decimal)。
返回值:成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。
扩展知识:
一般这种情况在实际额工作中 涉及到价格会出现意想不到的bug
如果 你非要传一个 float 价格(2位小数)
且做了乘积之后需要转为int(奇怪的需求)
intval(39.80*100) = 3979 intval(round(floatval($value) * 100)) = 3980
更多编程相关知识,请访问:编程视频!!