라이브러리

[PHP] NumberFormatter::parse - 숫자 구문 분석




NumberFormatter::parse

PHP의 `NumberFormatter` 클래스는 국제화와 지역화에 사용되는 클래스입니다. `parse` 메소드는 숫자를 지정된 지역화 형식으로 파싱하는 메소드입니다.

사용법


`parse` 메소드는 두 개의 매개변수를 받습니다.

- `$number`: 파싱할 숫자
- `$format`: 파싱할 숫자의 형식

예제


#hostingforum.kr
php

$formatter = new NumberFormatter('ko_KR', NumberFormatter::DECIMAL);

$number = '1,234,567.89';

$format = ',.##';



$parsedNumber = $formatter->parse($number, $format);



echo "파싱된 숫자: $parsedNumber
";



이 예제에서는 `$number` 변수에 '1,234,567.89'라는 숫자를 저장하고, `$format` 변수에 ',.##'라는 형식을 저장합니다. `parse` 메소드는 이 숫자를 지정된 형식으로 파싱하고, `$parsedNumber` 변수에 결과를 저장합니다.

결과


파싱된 숫자: 1234567.89

예제 2: 다른 지역화 형식


#hostingforum.kr
php

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);

$number = '1,234,567.89';

$format = ',.##';



$parsedNumber = $formatter->parse($number, $format);



echo "파싱된 숫자: $parsedNumber
";



이 예제에서는 `$number` 변수에 '1,234,567.89'라는 숫자를 저장하고, `$format` 변수에 ',.##'라는 형식을 저장합니다. `parse` 메소드는 이 숫자를 지정된 형식으로 파싱하고, `$parsedNumber` 변수에 결과를 저장합니다. 이 경우 결과는 1,234,567.89입니다.

결과


파싱된 숫자: 1,234,567.89

예제 3: 오류 처리


#hostingforum.kr
php

$formatter = new NumberFormatter('ko_KR', NumberFormatter::DECIMAL);

$number = '1,234,567.89';

$format = ',';



$parsedNumber = $formatter->parse($number, $format);



if ($parsedNumber === false) {

    echo "오류 발생: $formatter->getErrorCode() - $formatter->getErrorMessage()
";

} else {

    echo "파싱된 숫자: $parsedNumber
";

}



이 예제에서는 `$number` 변수에 '1,234,567.89'라는 숫자를 저장하고, `$format` 변수에 ','라는 형식을 저장합니다. `parse` 메소드는 이 숫자를 지정된 형식으로 파싱하고, `$parsedNumber` 변수에 결과를 저장합니다. 이 경우 `$format` 변수에 저장된 형식은 숫자의 소수 부분을 제거하므로 오류가 발생합니다.

결과


오류 발생: 1 - Invalid format string

참고


`NumberFormatter` 클래스는 PHP 7.2 이상에서 사용할 수 있습니다. 또한 `parse` 메소드는 PHP 7.2 이상에서 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 370 페이지

검색

게시물 검색