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安全编程之加密功能
Oct 09 PHP
一个简单的自动发送邮件系统(一)
Oct 09 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
Yii实现显示静态页的方法
Apr 25 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
thinkphp5框架API token身份验证功能示例
May 21 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 生成文字png图片的代码
2011/04/17 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
基于python socketserver框架全面解析
2017/09/21 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
C#笔试题集合
2013/06/21 面试题
小学教师节活动方案
2014/01/31 职场文书
2014年会策划方案
2014/05/11 职场文书
多人股份制合作协议书
2016/03/19 职场文书
导游词之青城山景区
2019/09/27 职场文书
2022年四月新番
2022/03/15 日漫