首页  >  文章  >  后端开发  >  extjs4 - PHP 保留两位小数 float格式

extjs4 - PHP 保留两位小数 float格式

WBOY
WBOY原创
2016-06-06 20:43:421340浏览

现在有个需求,从数据库取出一大坨五位小数的数字,然后保留两位小数。我用了round简单处理了一下,发现诸如19.90000这样的数字,会变成19.9而不是19.90。于是尝试了一下用number format格式化,变成了19.90没问题,但是还需要在前端,展示在extjs的gridpanel里面。grid默认就支持排序,我点了排序,发现数字都是按照首字母排序的,也就是:
18.88
19.12
2.27
2.50
21.00
21.33
相当于是把数字用字符串形式下的首字母进行了排序
我的问题就是:怎么能用PHP处理一下,既保留两位小数,还能转换成数字格式,实话说我不确定PHP能不能支持这样的形式,所以如果能用Extjs的某些配置实现,也非常感谢!

回复内容:

现在有个需求,从数据库取出一大坨五位小数的数字,然后保留两位小数。我用了round简单处理了一下,发现诸如19.90000这样的数字,会变成19.9而不是19.90。于是尝试了一下用number format格式化,变成了19.90没问题,但是还需要在前端,展示在extjs的gridpanel里面。grid默认就支持排序,我点了排序,发现数字都是按照首字母排序的,也就是:
18.88
19.12
2.27
2.50
21.00
21.33
相当于是把数字用字符串形式下的首字母进行了排序
我的问题就是:怎么能用PHP处理一下,既保留两位小数,还能转换成数字格式,实话说我不确定PHP能不能支持这样的形式,所以如果能用Extjs的某些配置实现,也非常感谢!

string number_format ( float $number [, int $decimals = 0 ] )
php的number_format返回的是string。
2个解决方案
1、直接number返回给前端,前端展示的时候格式化为2位小数
2、php格式化,但是原数值也返回给前端,用以排序

php 的 round() 函数

echo sprintf("%0.2f", "19.90000");

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn