博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

PHP 格式化MYSQL返回float类型

Posted on 2013-02-28 12:11  PHP-张工  阅读(1822)  评论(0编辑  收藏  举报

PHP 中获取mysql的float字段,echo 输出后,小数部分为包含多个0.

可使用 floatval($num) 将0舍去。

如要保留小数位,可使用 number_format($num, 2); 

number_format函数对超过指定位数的值,进行了四舍五入。

如不想四舍五入,而保留所有小数。可使用如下方法:

// 如仅想保留两位小数可用 number_format($num, 2);
echo f('1001.334534', 2) . '<br>'; // 1001.334534
echo f('-1001.000', 2) . '<br>'; // -1001.00
echo f('1001.3', 5) . '<br>'; // 1001.30000
echo f('1001.33') . '<br>'; // 1001.33
echo f('1001.000') . '<br>'; // 1001

// 格式化小数,但不四舍五入,如有小数则全保留,无小数则添加0;
function f($num, $v = 0)
{
	$num = floatval($num);
	if ($v > 0)
	{
		$num = '' . $num;
		$arr = explode('.', $num);
		if (count($arr) === 1)
		{
			$num .= '.' . str_repeat('0', $v);
		}
		else
		{
			$v -= strlen($arr[1]);
			if ($v > 0)
				$num .= str_repeat('0', $v);
		}
	}
	
	return $num;
}