Home >Backend Development >PHP Tutorial >extjs4 - PHP 保留两位小数 float格式

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

WBOY
WBOYOriginal
2016-06-06 20:43:421374browse

现在有个需求,从数据库取出一大坨五位小数的数字,然后保留两位小数。我用了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");

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn