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实现将GB编码转换为UTF8
Nov 25 PHP
php你的验证码安全码?
Jan 02 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
php输出xml必须header的解决方法
Oct 17 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
初识PHP中的Swoole
Apr 05 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
JS分页效果示例
2013/10/11 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
js小数运算出现多位小数如何解决
2015/10/08 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
详解Python if-elif-else知识点
2018/06/11 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
档案室主任岗位职责
2014/02/12 职场文书
保安队长职务说明书
2014/02/23 职场文书
监察建议书格式
2014/05/19 职场文书
社会发展项目建议书
2014/08/25 职场文书
铁人观后感
2015/06/16 职场文书
护士心得体会范文
2016/01/25 职场文书
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
使用Python获取字典键对应值的方法
2022/04/26 Python