PHP 문자열을 소수점 두 자리 반올림하는 올바른 방법은 무엇인가요?
$number = "520"; // It's a string from a database
$formatted_number = round_to_2dp($number);
echo $formatted_number;
출력은 520.00
이 되어야 합니다;
round_to_2dp()` 함수 정의는 어떻게 해야 하나요?
'차' () 사용하여 (사용할 경우 검색되어야 숫자를 부동 소수점 포맷에만, 다른 number_format () 를 사용하여 답을 제공한 코뎀츠키).
echo round(520.34345, 2); // 520.34
echo round(520.3, 2); // 520.3
echo round(520, 2); // 520
&Solarisdvd 수작업식:
>. # 설명: 부동 소수점 라운드 (부동 소수점 $ 발 (int = 0, $ precisiontm [, int = $ 모드이면 PHP_ROUND_HALF_UP]]).
>. '발' 을 라운드된 되돌려줍니다 값을 지정한 'precisiontm' (이후 자리 수를 소수점 이하). 제로 (기본값) '또는' precisiontm 제외어 수도 있습니다.
.
>. # # 1 라운드 () '예' (예: >. php <,? 에코 라운드 (3.4). 3 // 라운드 (3.5), 에코 4 // 에코 라운드 (36). 4 // 에코 라운드 (3.6tb, 0); 4 // 에코 라운드 (1.95583, 2). 1.96 // 에코 라운드 (1241757, - 3). 1 242 000 // 에코 라운드 (5.045, 2). 5.05 // 에코 라운드 (5.055, 2). 5.06 // >,?
>. # # 2 모드 예 예 >. php <,? 에코 라운드 (9.5ms PHP_ROUND_HALF_UP, 0); 10 // 에코 라운드 (9.5ms PHP_ROUND_HALF_DOWN, 0); 9 // 에코 라운드 (9.5ms PHP_ROUND_HALF_EVEN, 0); 10 // 에코 라운드 (9.5ms PHP_ROUND_HALF_ODD, 0); 9 // >. 에코 라운드 (8.5, 0, PHP_ROUND_HALF_UP); 9 // 에코 라운드 (8.5, 0, PHP_ROUND_HALF_DOWN); 8 // 에코 라운드 (8.5, 0, PHP_ROUND_HALF_EVEN); 8 // 에코 라운드 (8.5, 0, PHP_ROUND_HALF_ODD); 9 // >,?
http://php.net/manual/en/function.round.php
예
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
Php number_format () 기능을 사용할 수 있습니다.
예를 들어,
$num = 7234545423;
echo number_format($num, 2);
출력됩니다.
7,234,545,423.00
Ie 의 조건부 완결. 그렇지 않으면 정말 필요한 곳에 it& # 39 의 정수 (십진수 표시
123.56 = >. 12.56
123.00 = >. 123
$somenumber = 123.56;
$somenumber = round($somenumber,2);
if($somenumber == intval($somenumber))
{
$somenumber = intval($somenumber);
}
echo $somenumber; // 123.56
$somenumber = 123.00;
$somenumber = round($somenumber,2);
if($somenumber == intval($somenumber))
{
$somenumber = intval($somenumber);
}
echo $somenumber; // 123
저도 여기서 소수점을 사용하여 '.' (도트) 이후 두 함수.
function truncate_number($number, $precision = 2) {
// Zero causes issues, and no need to truncate
if (0 == (int)$number) {
return $number;
}
// Are we negative?
$negative = $number / abs($number);
// Cast the number to a positive to solve rounding
$number = abs($number);
// Calculate precision number for dividing / multiplying
$precision = pow(10, $precision);
// Run the math, re-applying the negative value to ensure
// returns correctly negative / positive
return floor( $number * $precision ) / $precision * $negative;
}
결과는 위에서 기능:
echo truncate_number(2.56789, 1); // 2.5
echo truncate_number(2.56789); // 2.56
echo truncate_number(2.56789, 3); // 2.567
echo truncate_number(-2.56789, 1); // -2.5
echo truncate_number(-2.56789); // -2.56
echo truncate_number(-2.56789, 3); // -2.567
Php 사용 넷윈을 함수 브스트리프
echo bcdiv(2.56789, 1, 1); // 2.5
echo bcdiv(2.56789, 1, 2); // 2.56
echo bcdiv(2.56789, 1, 3); // 2.567
echo bcdiv(-2.56789, 1, 1); // -2.5
echo bcdiv(-2.56789, 1, 2); // -2.56
echo bcdiv(-2.56789, 1, 3); // -2.567