2011-08-27 3 views
0

PHP 프로젝트의 일부로, 임의의 간격으로 포함 된 각 값의 사인 값을 반환해야합니다. 또한 함수의 "범위"를 설정할 수 있어야합니다. 즉 순환해야하는 소수점 이하 자릿수를 설정해야합니다.10 진수 값 순환

예는 3 행 간격으로 1 대 1 소수점 포함 : 동일한 간격

1 1.01 1, 1.1, 1.2, ... 2.8, 2.9, 3

2 소수점을 1.02 ... 2.98, 2.99, 3

기타 ... "for"주기로 시도했지만 자연수 만 고려했습니다.

제안 사항?

+0

왜 첫 번째 예제 출력에 있지만 두 번째 3입니까? – Nobody

+0

내 잘못, 고쳐. :) – max0005

답변

3

당신은 당신의 요구에 맞게 코드를 아래 코드를 조정할 수 있습니다

$start = 1; 
$end = 3; 
$place = 1; 

$step = 1/pow(10, $place); 

for($i = $start; $i <= $end; $i = round($i + $step, $place)) 
{ 
    echo $i . "\n"; 
} 

출력 :

1 
1.1 
1.2 
1.3 
1.4 
1.5 
1.6 
1.7 
1.8 
1.9 
2 
2.1 
2.2 
2.3 
2.4 
2.5 
2.6 
2.7 
2.8 
2.9 
3 
+0

Dejavu : 출력에서 ​​3이 왜 누락 되었습니까? ^^ – Nobody

+0

@Nobody : 그것은 단지 부동 소수점 오류입니다. 나는 그것을 해결하기 위해 내 대답을 업데이 트했습니다. –

+0

정말 고마워요, 완벽하게 작동했습니다! 한 가지, 소수점 이하 자릿수를 4-5로 늘리면 속도가 매우 느려집니다. 더 빨리 만들 수있는 방법이 있습니까? (나는 localhost를 실행하고있다.) – max0005