현재 위치: > 최신 기사 목록> strval을 사용하여 부동 소수를 변환하고 지정된 소수점 자리를 유지하십시오.

strval을 사용하여 부동 소수를 변환하고 지정된 소수점 자리를 유지하십시오.

gitbox 2025-05-26

1. strval ()을 사용하여 직접 변환하십시오

strval () 의 기본 사용은 부동 소수점 번호를 문자열로 직접 변환하는 것이지만, 모든 상당수의 부동 소수점 번호를 유지하며 소수점 이하 자리의 수를 제한 할 수는 없습니다.

 <?php
$num = 3.1415926;
echo strval($num); // 산출 "3.1415926"
?>

간단하지만 소수점 이하의 자리가 얼마나 많이 유지되는지는 통제 할 수 없습니다.


2. NUMBER_FORMAT ()를 사용하여 먼저 포맷 한 다음 strval () 로 변환합니다.

number_format () 는 내장 된 PHP 함수로, 숫자를 형식화하는 데 특별히 사용되며 소수점 이하 자리 수를 지정할 수 있습니다.

 <?php
$num = 3.1415926;
$formatted = number_format($num, 2);  // 예약하다2십진수,결과는 문자열입니다
echo strval($formatted);  // 산출 "3.14"
?>

번호_Format () 자체는 문자열을 반환합니다. 여기서 strval () 의 포장은 질문의 요구 사항을 충족시키는 것이지만 실제로는 필요하지 않습니다.


3. sprintf () 형식을 결합한 다음 strval () 로 변환합니다.

Sprintf () 는 또한 문자열을 형식화하는 일반적인 방법이며, 소수점 이하 자리의 수를 유연하게 지정할 수 있습니다.

 <?php
$num = 3.1415926;
$formatted = sprintf("%.3f", $num); // 예약하다3십진수,리턴 문자열
echo strval($formatted); // 산출 "3.142"
?>

마찬가지로 Sprintf ()는 문자열을 반환하고 strval ()을 사용하는 것은 불필요한 래퍼입니다.


4. 함수를 사용자 정의, 첫 번째 라운드 () , 문자열로 변환합니다.

때로는 라운드 () 함수를 사용하여 소수점을 먼저 처리 한 다음 문자열로 변환하려고합니다.

 <?php
function floatToString($num, $decimals) {
    $rounded = round($num, $decimals);
    return strval($rounded);
}

echo floatToString(3.1415926, 2); // 산출 "3.14"
echo "\n";
echo floatToString(3.1000, 2);   // 산출 "3.1",0이 추가되지 않습니다
?>

여기서 Round ()는 수치 값의 정확도를 보장하지만 소수점 이하의 0을 자동으로 채우지는 않습니다.


5. 소수점 수를 유지하고 0을 자동으로 채우는 조합 방법

고정 된 소수점을 유지하고 0을 자동으로 보충 해야하는 경우 가장 간단한 방법으로 숫자 _format ()를 사용할 수 있습니다.

 <?php
$num = 3.1;
echo strval(number_format($num, 3));  // 산출 "3.100"
?>

요약

  • Straval () 직접 변환은 소수점 이하 자리의 수를 제어 할 수 없습니다.

  • 숫자를 number_format () 또는 sprintf () 로 포맷하는 것이 좋습니다. 먼저 지정된 소수점 번호의 문자열을 가져온 다음 strval () 로 랩핑하는 것이 좋습니다 (실제로 래핑하지 않아도됩니다).

  • Round ()는 반올림에 사용할 수 있지만 자동으로 0을 보충하지는 않습니다.

  • 최종 방법은 제로 보상이 필요한지 여부와 형식 요구 사항에 따라 결정됩니다.