php float不四舍五入截取浮点型字符串方法总结


Posted in PHP onOctober 28, 2013

php中截取浮点型大致有下面几种方法:

1、 float round ( float $val [, int $precision ] ) 返回将 val 根据指定精度 precision (十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

    echo round(4.3)  //4

2、 string sprintf ( string $format [, mixed $args [, mixed $... ]] ) 返回格式化数据的字符串

$a=12.338938438; 
echo sprintf("%.5f",$a) //结果:12.33894  $a=12.3312356; 
echo sprintf("%.5f",$a);//12.33124 
echo sprintf("%f",$a);//331236  默认小数点后6位

3、 string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
$number = 1234.5678; $english_format_number = number_format($number, 2, '.', ''); 
echo  $english_format_number ; // 1234.57

以上这些都自动做了四舍五入,有时候需求不需要四舍五入呢,怎么办,没有想到好办法,谁知道可以告诉一声。

自己写了个麻烦点的函数,记录下

function getFloatValue($f,$len) 
{ 
  $tmpInt=intval($f);   $tmpDecimal=$f-$tmpInt; 
  $str="$tmpDecimal"; 
  $subStr=strstr($str,'.'); 
  if(strlen($subStr)<$len+1) 
 { 
  $repeatCount=$len+1-strlen($subStr); 
  $str=$str."".str_repeat("0",$repeatCount); 
 } 
  return    $tmpInt."".substr($str,1,1+$len); 
} 
echo getFloatValue(12.99,4) //12.9900 
echo getFloatValue(12.9232555553239,4) //12.9232
PHP 相关文章推荐
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
php实现用户在线时间统计详解
Oct 08 PHP
php cc攻击代码与防范方法
Oct 18 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
析构函数与php的垃圾回收机制详解
Oct 28 #PHP
web server使用php生成web页面的三种方法总结
Oct 28 #PHP
php加密解密函数authcode的用法详细解析
Oct 28 #PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 #PHP
php操作mysqli(示例代码)
Oct 28 #PHP
php session_start()出错原因分析及解决方法
Oct 28 #PHP
php 强制下载文件实现代码
Oct 28 #PHP
You might like
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
vue实现购物车列表
2020/06/30 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python机器学习之决策树算法
2017/12/22 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
python求最大值最小值方法总结
2019/06/25 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
详解Scrapy Redis入门实战
2020/11/18 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
如何删除一个表里面的重复行
2013/07/13 面试题
中科创达面试题
2016/12/28 面试题
应聘收银员个人的求职信
2013/11/30 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
房租涨价通知
2015/04/23 职场文书
裁员通知
2015/04/25 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
css3应用示例:新增的选择器
2022/03/16 HTML / CSS