2013-12-10 3 views
2

소수점을 관리하기 위해 number_format() 함수를 사용했지만 원하는 결과를 얻지 못했습니다. 소수점 이하 6 자리까지 입력하고 싶지만 모든 숫자에 소수점 이하를 표시하고 싶지는 않습니다. 예를 들어, 내 출력이 27.54라면 number_format은 27.540000을 나에게 줄 것입니다. 그 여분의 0을 무시하고 중요한 십진수 만 표시하는 함수 또는 방법이 있습니까 ?? 감사합니다.동적 소수 자리 수

+0

이를 타고 그렇다면, 단지 형식의 문자열의 floatval를 얻을 수 이것 (가능한 중복) 봐 : http://stackoverflow.com/a/5429945/722135 – Babblo

+0

내 정수의 0을 지우기 때문에 rtrim 나를 위해 작동하지 않습니다 ... 내 25000 25 번 ... – inBlackAndWhite

답변

0

는 (후행 공의를 제거 할) float로 다시 값을 캐스팅 (float)를 사용해보십시오 :

$val = number_format(11.11, 6); 
echo (float)$val; 
+0

이유는 모르겠지만 number_format를 사용하면 내 정수에서 0을 지 웁니다. $ val = (float) $ val; 내가 소수 자릿수를 제한하지는 않지만 무시 무시한 0을 제거하는 데 효과적입니다! 고맙습니다!! – inBlackAndWhite

0

제가 이해한다면 6 자릿수까지, 더 이상은 0으로 6 자릿수가 적어 0을 무시할 수 있습니다.

$number = floatval(number_format($number,6)) 
+0

이 훌륭하게 작동합니다! 하지만 때만 나 나누어 ... 1.48 * 1000 = 1을 얻을 곱하면 ... – inBlackAndWhite

2
$r = 27.54; 
echo (float) number_format($r,6); 
관련 문제