>  기사  >  백엔드 개발  >  PHP에서 소수점 이하 두 자리를 유지하는 몇 가지 방법 소개

PHP에서 소수점 이하 두 자리를 유지하는 몇 가지 방법 소개

青灯夜游
青灯夜游앞으로
2020-07-18 15:28:527908검색

PHP에서 소수점 이하 두 자리를 유지하는 몇 가지 방법 소개

1. 반올림하지 않는 상황

예를 들어 3.149569는 소수점 이하 두 자리까지 취하고, 마지막 두 자리는 반올림할 수 없습니다. 결과: 3.14.

바닥 기능을 사용할 수 있습니다

이 기능은 반올림입니다. 예를 들어, Floor(4.66456)의 결과는 다음과 같습니다.

floor(9.1254) 결과 9.

따라서 소수점 두 자리를 없애려면 먼저 100을 곱한 다음 반올림하고 100으로 나누어야 합니다. 즉,

$a=floor(3.149569*100)/100

이때 부동 소수점 계산에 버그가 나타날 수 있습니다. PHP의 유형 없는 기능을 통해 해결 이 문제의 경우 먼저 strval을 문자열로 변환한 다음 자동으로 유형을 식별합니다. strval() 함수는 아래 백분율을 계산하는 데 사용되었습니다

백분율 계산

$successRate = floor(strval((2/3)*10000))/10000*100;
$result = $successRate.'%';

2. 반올림 상황

라운드 함수

float round ( float val [, int precision])

는 지정된 정밀도 정밀도에 따라 값을 반환합니다. (소수점 이하) 숫자)는 반올림됩니다.

정밀도는 음수 또는 0(기본값)일 수도 있습니다.

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.04
echo round(5.055, 2);    // 5.06

sprintf 함수

반올림을 구현하고 소수점 자리가 없으면 자동으로 지정된 문자(지정된 0)를 사용하여 지정된 소수점 자리를 채웁니다.

echo sprintf("%01.2f", 5.228);  //  5.23
echo sprintf("%01.2f", 5.224);  //  5.22
echo sprintf("%01.2f", 5);      //  5.00

number_format 함수

if It 소수점 자리가 없으며 지정된 소수점 자리까지 자동으로 0으로 채워집니다

echo number_format(5.228,2);    //  5.23
echo number_format(5.224,2);    //  5.22
echo number_format(5,2);        //  5.00

반올림 기능

이 함수는 반올림을 수행할 수 있지만 소수점 자리가 없으면 처리 후 소수점이 없습니다

.
echo round(5.228,2);    //  5.23
echo round(5.224,2);    //  5.22
echo round(5,2);        //  5

가장 가까운 정수로 반올림하는 PHP

echo ceil(4.4);     //  5
echo ceil(4.6);     //  5

가장 가까운 정수로 반올림하는 PHP

echo floor(4.4);        //  4
echo floor(4.6);        //  4

추천 관련 튜토리얼: "PHP 튜토리얼"

위 내용은 PHP에서 소수점 이하 두 자리를 유지하는 몇 가지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제