小数中指定位数进舍
PHP中的两个函数 ceil() 和 floor() 方法仅能保存整数位,在这个基础上做了下扩展实现了可以指定小数位数的ceil和floor。
ceil_for_decimal()
floor_for_decimal()
1. 舍去指定位数后面的小数
/*** 舍去指定位数后面的小数* @param float $float 需要操作的小数* @param integer $num 保留的小数位数*/function floor_for_decimal($float, $num = 0){$float = (float)$float;// 转为字符串$str_float = (string)$float;// 获取小数点位置$index_dot = strpos($str_float,'.');// 没有小数则返回if ($index_dot == false) return $float;if (strlen(explode('.',$str_float)[1]) <= $num) return $float;// float小数点右移动num位$new_float = $float * pow(10,$num);// 取整$floor = floor($new_float);// 小数点左移num位return $floor / pow(10,$num);}
2. 舍去指定位数后面的小数
/*** 指定位数后面的小数进一舍去* @param float $float 需要操作的小数* @param integer $num 保留的小数位数*/function ceil_for_decimal($float, $num = 0){$float = (float)$float;// 转为字符串$str_float = (string)$float;// 获取小数点位置$index_dot = strpos($str_float,'.');// 没有小数则返回if ($index_dot == false) return $float;if (strlen(explode('.',$str_float)[1]) <= $num) return $float;// float小数点右移动num位$new_float = $float * pow(10,$num);// 取整$floor = ceil($new_float);// 小数点左移num位return $floor / pow(10,$num);}
上一篇:
微信双开
下一篇:
Linux Screen使用
1人点赞
