php float不四舍五入截取浮点型字符串方法总结
2015-01-24信息快讯网
在php中截取浮点型大致有以下几种方法。需要的朋友可以过来参考下,希望对大家有所帮助
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
利用谷歌 Translate API制作自己的翻译脚本
php+highchats生成动态统计图
PHP中date与gmdate的区别及默认时区设置
JS异常处理try..catch语句的作用和实例
php加速器eAccelerator的配置参数、API详解
PHP四舍五入精确小数位及取整
php中的比较运算符详解
析构函数与php的垃圾回收机制详解
关于php程序报date()警告的处理(date_default_timezone_set)
php stream_get_meta_data返回值
PHP中time(),date(),mktime()区别介绍
DOM XPATH获取img src值的query
PHP保留两位小数并且四舍五入及不四舍五入的方法
PHP中的str_repeat函数在JavaScript中的实现
PHP中的float类型使用说明