2014-12-09 9 views
2

나는 다음과 같이 반올림하지 않고 소수점 이하 4 개 자리에서이 번호를 표시해야합니다 은 값을 반올림하지 않고 소수점 이하 4 자리 숫자를 보여

6.8199999999999 
5.245 
0.00147 
18.333398 
7.1 

아래 같은 일부 소수 값이

6.8199 
5.2450 
0.0014 
18.3333 
7.1000 

나는 PHP에서 number_format()을 사용하려하지만 도움이 이해할 수있을 것이다

반올림

+0

사용 ['SUBSTR()'(http://php.net/substr) 당신은'만약 같은 것을 사용할 수 –

+0

(strpos ('.', $ number)! == false) {$ number = substr ($ number, 0, strpos ('.', $ number) + 4)}'. 그게 내 머리 꼭대기에서 확실하지 않은 +5 일 필요가 있습니다. 아니면'float ($ number * 10000)/10000;과 같은 네 장소 뒤에 float을자를 수 있습니다. –

답변

2

이 당신을 위해 작동합니다 :

$number = 6.8199999999999; 
echo $number = sprintf('%.4f', floor($number*10000*($number>0?1:-1))/10000*($number>0?1:-1)); 

출력 :

6.8199 
+0

위대한 .. 작동하지만 음수 값으로 돔을 만들면 작은 문제가 있습니다. '$ number = -6.8199999999999 '를 사용하려고하면'-6.8200'이됩니다. 어떤 생각을 어떻게 고쳐야합니까? – LiveEn

+0

@LiveEn 이제 작동해야합니다! 당신은 그 트릭을 알아야합니다 : D – Rizier123

+1

완벽한 ... 고마워요 :) – LiveEn

관련 문제