Home > Backend Development > PHP Tutorial > Summary of methods for intercepting floating-point strings without rounding in php float_PHP Tutorial

Summary of methods for intercepting floating-point strings without rounding in php float_PHP Tutorial

WBOY
Release: 2016-07-13 10:25:52
Original
829 people have browsed it

There are roughly the following methods for intercepting floating point types in php:

1, float round ( float $val [, int $precision ] ) Returns val rounded to the specified precision (the number of decimal digits after the decimal point). precision can also be negative or zero (default).

echo round(4.3) //4

2, string sprintf ( string $format [, mixed $args [, mixed $... ]] ) returns the string of formatted data

Copy code The code is as follows:

$a=12.338938438;
echo sprintf("%.5f",$a) //Result: 12.33894

$a=12.3312356;
echo sprintf("%.5f",$a);//12.33124
echo sprintf("%f",$a);//331236 Default 6 decimal places

3, string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
Copy code The code is as follows:

$number = 1234.5678;

$english_format_number = number_format($number, 2, '.', '');
echo $english_format_number; // 1234.57

The above are automatically rounded. Sometimes rounding is not required. What should I do? I haven’t thought of a good way. Who knows can tell me.

I wrote a troublesome function myself and recorded it

Copy the code The code is as follows:

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

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/824906.htmlTechArticleThere are roughly the following methods to intercept floating point types in PHP: 1. float round (float $val [, int $precision ] ) returns the value of val according to the specified precision (the number of decimal digits after the decimal point...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template