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自动跳转中英文页面
Jul 29 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
php 删除记录实现代码
Mar 12 PHP
对象失去焦点时自己动提交数据的实现代码
Nov 06 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
php实现文件下载实例分享
Jun 02 PHP
简单谈谈PHP中的trait
Feb 25 PHP
浅谈PHP的反射API
Feb 26 PHP
php封装一个异常的处理类
Jun 08 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
Laravel数据库读写分离配置的方法
Oct 13 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
php实现计数器方法小结
2015/01/05 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
javascript textContent与innerText的异同分析
2010/10/22 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
Python标准异常和异常处理详解
2015/02/02 Python
python 表格打印代码实例解析
2019/10/12 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
酒店办公室文员岗位职责
2013/12/18 职场文书
教师旷工检讨书
2014/01/18 职场文书
花店创业计划书范文
2014/02/07 职场文书
企业员工薪酬方案
2014/06/04 职场文书
诚实守信演讲稿
2014/09/01 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
接收函格式
2015/01/30 职场文书
第一节英语课开场白
2015/06/01 职场文书