在用smarty模板进行小数输出的时候,碰到一个奇怪的问题。开始还以为是程序计算出现了问题,后来一查才知道是
smarty的函数string_format导致的,这个函数是五舍六入的。
就是一个小数96.55,使用string_format函数取一位小数后,结果竟然是96.5。
比如{96.55|string_format:"%.1f"},输出后就是96.5。
{96.56|string_format:"%.1f"},输出后就是96.6。
对应的PHP的五舍六入函数是sprintf
比如
$a = '96.55';
$b = sprintf('%.1f',$a);
echo $b;
输出后也是96.5
$a = '96.56';
$b = sprintf('%.1f',$a);
echo $b;
输出后是96.6
