> 백엔드 개발 > PHP 문제 > PHP는 왜 소수점 이하 한 자리로 반올림하지 않습니까?

PHP는 왜 소수점 이하 한 자리로 반올림하지 않습니까?

青灯夜游
풀어 주다: 2023-03-16 09:04:01
원래의
5628명이 탐색했습니다.

방법: 1. "*" 연산자를 사용하여 소수점을 10배로 확장합니다. "$a=decimal*10;" 구문은 소수점을 한 자리 뒤로 이동합니다. 2. 확장된 소수점을 이동하려면; 소수 부분을 반올림하고 폐기합니다. 구문은 "$b=floor($a);"입니다. 3. 반올림된 숫자를 10으로 나누면 구문은 "$c=$b/10;"입니다.

PHP는 왜 소수점 이하 한 자리로 반올림하지 않습니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php에서 소수점 한 자리(반올림 없이)를 유지하는 방법

예를 들어, 3.1625소수점 1자리를 취하고, 마지막 1자리는 반올림할 수 없습니다. 결과: 3.1. 3.1625取小数点后1位,最后1位不能四舍五入。结果:3.1

在php中,可以使用floor 函数实现不四舍五入的保留一位小数。

floor 函数的作用使用舍去取整。

例如,floor(4.66456) 结果:4floor(9.1254) 结果9

PHP에서는 바닥 함수를 사용하여 반올림 없이 소수점 이하 한 자리를 얻을 수 있습니다.

바닥 함수는 반올림을 사용합니다.

예를 들어 floor(4.66456)의 결과는 4이고, floor(9.1254)의 결과는 9입니다.

PHP는 왜 소수점 이하 한 자리로 반올림하지 않습니까?따라서 소수점 1자리를 제거하려면 먼저 10을 곱한 다음 반올림하고 10으로 나누어야 합니다. 즉,

$a=小数*10;
$b=floor($a);
$c=$b/10;
로그인 후 복사

는 다음과 같이 직접 단순화됩니다.

floor(小数*10)/10
로그인 후 복사
예:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
echo (floor(3.1625*10)/10)."<br>";
echo (floor(0.5985*10)/10)."<br>";
echo (floor(1.1425*10)/10)."<br>";
?>
로그인 후 복사

지식 확장 : 소수점 이하 자릿수를 유지하는 방법(반올림)

1. 반올림 기능

round(小数,保留位数)
로그인 후 복사

2. sprintf 함수

sprintf("%01.位数值f", 小数)
로그인 후 복사
는 반올림을 수행하며, 소수점 이하 자릿수가 없으면 자동으로 지정된 문자를 사용합니다. (0으로 지정) 지정된 소수점 자리까지 채우기
echo sprintf("%01.2f", 5.228);  //  5.23
echo sprintf("%01.2f", 5.224);  //  5.22
echo sprintf("%01.2f", 5);      //  5.00
로그인 후 복사

3. number_format 함수🎜
number_format(小数,保留位数)
로그인 후 복사
🎜소수점 자리가 없으면 자동으로 소수점 자리까지 0으로 채워줍니다🎜
echo number_format(5.228,2);    //  5.23
echo number_format(5.224,2);    //  5.22
echo number_format(5,2);        //  5.00
로그인 후 복사
🎜추천 학습: "🎜PHP 비디오 튜토리얼 🎜》🎜

위 내용은 PHP는 왜 소수점 이하 한 자리로 반올림하지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿