/* 문자열을 부동소수점 숫자로 변환 */
echo floatval('3.14'); // 출력: 3.14
echo floatval('100.58px');  // 출력: 100.58 (문자 이후의 부분은 무시됨)
echo floatval('50.6%'); // 출력: 50.6 (문자 이후의 부분은 무시됨)

/* 주의!
   정수를 부동소수점 숫자로 변환하면 출력 시 소수점이 표시되지 않음 */
$int = 42;
echo floatval($int); // 정수처럼 출력: 42 (소수점이 포함된 형태로는 보여주지 않음)

// 데이터 타입은 부동소수점 숫자(float)으로 변환됨
var_dump(floatval($int)); // float(42)
$var = '3.14';
var_dump(floatval('3.14')); // float(3.14)

/* 원본 변수나 값은 변경되지 않습니다. */
var_dump($var); // string(4) "3.14"
floatval(mixed $value): float
/* 숫자 문자열 */
echo floatval('3.14'); // 출력: 3.14

/* 숫자로 시작하는 문자열 */
echo floatval('100.58px');  // 출력: 100.58 (문자 이후의 부분은 무시됨)
echo floatval('50.6%'); // 출력: 50.6 (문자 이후의 부분은 무시됨)
/* 숫자가 아닌 문자로 시작하는 문자열 */
echo floatval('abc'); // 출력: 0 (0을 반환합니다.)
echo floatval('abc123'); // 출력: 0 (0을 반환합니다.)
/* 숫자가 아닌 문자로 시작하는 문자열: 양수와 음수 부호 */
echo floatval('+42.195'); // 출력: 42.195
echo floatval('-42.195'); // 출력: -42.195
/* 빈 문자열 */
echo floatval(''); // 출력: 0 (0을 반환합니다.)
$int = 42;
echo floatval($int); // 정수처럼 출력: 42 (소수점이 포함된 형태로는 보여주지 않음)

// 데이터 타입은 부동소수점 숫자(float)으로 변환됨
var_dump(floatval($int)); // float(42)
/* 배열 */
echo floatval([]);        // 출력: 0 (빈 배열)
echo floatval([1, 2, 3]); // 출력: 1 (비어있지 않은 배열)
/* 객체 */
class MyClass {}
$obj = new MyClass();
echo floatval($obj); // 출력: 1
// Warning: Object of class MyClass could not be converted to float in...
/* 부울(boolean) */
echo floatval(true);  // 출력: 1 (true는 1로 변환)
echo floatval(false);  // 출력: 0 (false는 0으로 변환)
/* NULL */
echo floatval(NULL); // 출력: 0