>백엔드 개발 >PHP 튜토리얼 >PHP 반올림 및 차단 부동 소수점 문자열 방법 요약

PHP 반올림 및 차단 부동 소수점 문자열 방법 요약

高洛峰
高洛峰원래의
2017-03-16 10:28:071766검색

PHP에서는 이 부동 소수점 유형 을 가로채고 있습니다. 대략 다음과 같은 방법이 있습니다.

1. float round(float $val [, int $precision])는 값에 따라 val을 반환합니다. 지정된 정밀도 정밀도(소수점 이하 소수 자릿수)를 반올림합니다. 정밀도는 음수이거나 0일 수도 있습니다(기본값).

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 float 가로채기 및 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

관련 기사:

PHP 데이터 처리 반올림

PHP의 반올림 및 반올림 기능에 대한 자세한 소개

PHP에서 반올림을 구현하는 3가지 방법

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.