2010-08-14 2 views
-1

3 개의 s.f가있는 숫자를 파싱해야합니다. 및 2 d.p. (예 : 2.34). 처음 두 숫자 (1st 및 2nd s.f.)에 10을 곱합니다. 두 번째 숫자는 그대로 유지됩니다. 따라서 위의 예에서는 $ a = 23 및 $ b = 4입니다. 아래 코드는 함수가 아니었지만 작동하도록 코드를 가져올 수 있었지만이 코드를 함수에 통합 할 수 있기를 바랍니다. $ a 값과 $ b 값을 함수 (가능한 경우 별도)에서 가져올 수 있기를 원하지만이 작업을 수행하는 데 문제가 있습니다. 어떤 도움이라도 대단히 감사 할 것입니다.숫자를 잡는 함수에서 출력 얻기

$z = 1.63; 
function getcoordinates($conv) { 
$z = number_format($conv, 2); 
$z = (string)$z; 
$a = substr($z,0,3)*10; 
$b = substr($z,3,1); 
$a = settype($a, "float"); 
$b = settype($b, "float"); 
return $a; 
return $b; 
} 
+0

기능은이 개 결과를 반환 할 수 없습니다. – pltvs

답변

2

로 값을받을 왜 당신이 설명하는 방식으로 값을 계산할 수없는 이유는 무엇입니까?

function getCoordinates($input) { 
    $a = floor($input * 10) % 100; 
    $b = floor($input * 100) % 10; 
    return array($a, $b); 
} 

여기서 설명한 바와 같이 array()을 사용하면 여러 값을 반환 할 수 있습니다. 언제 전화 기능, 별도의 변수에 값을 넣어 list()를 사용할 수 있습니다

list($a, $b) = getCoordinates(2.34); 
echo "$a, $b\n"; // prints “23, 4” 
+0

감사합니다 - 훨씬 더 우아한 기능도 있습니다. –

0

배열을 반환합니다.

return array($a, $b); 

하고, 전화 사이트에

list($a, $b) = getcoordinates(...); 
0
function getcoordinates($conv) { 
    /* your code */ 
    return array($a,$b); 
} 
관련 문제