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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
php&amp;mysql 日期操作小记
Feb 27 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
PHP类的反射用法实例
Nov 03 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
php计算一个文件大小的方法
Mar 30 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
laravel-admin select框默认选中的方法
Oct 03 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
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
jquery 图片轮换效果
2010/07/29 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
Python如何调用外部系统命令
2019/08/07 Python
Python模块 _winreg操作注册表
2020/02/05 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
决定成败的关键——创业计划书
2014/01/24 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
Elasticsearch 基本查询和组合查询
2022/04/19 Python