2011-09-01 1 views
1

은 PHP 같은 (그 외부 소스로부터 파싱 된 이후 문자열 될 데이터 타입) 문자열을 변환하는 기능을 가지고 않습니다php는 문자열의 지수를 구문 분석하는 함수 (예 : "9.5367431640625e-05") 또는 regexp 등을 통해 수동으로 수행해야합니까?

string(..) "9.5367431640625e-05" 

과의 지수 계산을 수행를 문자열의 계산 된 값을 반환 상기? PHP는 함수,이 작업을 수행하는 방법에 대한 최고의 아이디어가없는 경우

9.5367431640625e-05 -> 9.5367431640625^-5 = calculated value 

:

또는 내가 좋아하는 뭔가를 정규 표현식 등 스타일의 방법이 필요합니까? 나는 패턴 일치와 같은 것을 할 것입니다.

/^([0-9\.\-]+)e([0-9\.\-]+)$/ 

더 좋은 아이디어가 있습니까?

감사합니다.

$float = (float) $string; 
+0

['floatval'] (http://www.php.net/manual/en/function.floatval.php)? – J0HN

답변

5

당신은 간단한 캐스트 할 수있는 :

$float = (float)$string; 

을하지만 (... 유효한 값이 될 수 있음) 0 검사 외에 방법이 없다

+0

두 답변 모두 훌륭합니다! floatval에 대한 언급 때문에이 하나를 선택했습니다. 진심으로 감사드립니다! –

5

캐스트를 수행 오류 검사. 또한 동일한 기능을 수행하는 floatval() 기능을 사용할 수도 있습니다.

일반적으로 PHP는 필요에 따라 캐스팅 할 필요가 없습니다. 설명서의 해당 장을 참조하십시오. http://de.php.net/manual/en/language.types.type-juggling.php

+0

+1 나를 때려 눕히세요! – Treffynnon

관련 문제