2013-01-24 2 views
1

숫자가 Zend로 부동인지 확인하려고합니다. 이 코드를 호출하면숫자가 Zend로 부동인지 확인하십시오.

Zend_Locale_Format::isFloat('4.202', array('locale' => 'de')); 

이 반환됩니다. 그러나 :

Zend_Locale_Format::isFloat('4.20', array('locale' => 'de')); 

false를 반환합니다. 왜?

+0

합니까 천 개 단위 구분을위한 독일 로케일 사용 기간은? –

+0

'is_float()'에 무슨 문제가 있습니까? – Jacco

+0

운영체제와 ZF 버전을 지정하십시오. PHP 버전 –

답변

3

독일어 로켈은 천 단위 구분 기호로 .을 사용하고 두 번째 예에서는 구분 기호가 잘못된 위치에 있기 때문입니다. 예를 들어

: isFloat()에 전달 될 때

13.001,45 

가 예상 true를 제공해야합니다.

Btw, 4.2024202 (분수없이 float로 간주 될 수 있음)으로 해석됩니다.

은 참조 : Normalization and Localization 절 "29.3.6 부동 소수점 값 테스트를."

+1

Contributing http://pokit.org/get/img/fe5ff3e93d2cd13ac8793e6fff75b043.png –

+0

첫 번째 것이 true를 반환 할 것으로 예상됩니까? 차이점은 무엇입니까? 'isInteger'와'isFloat' 메쏘드 사이에서 나는 궁금합니다. – ficuscr

+0

@ficuscr 예, 첫 번째는 단순히 '4202'이지만 천 단위 구분 기호가 있습니다. 정수도 float로 간주 할 수 있습니다. –

관련 문제