2013-05-17 1 views
7

number_format()과 같이 float 형식을 sprintf으로 어떻게 지정할 수 있습니까? 내가PHP 스프린트 형식 번호가 number_format와 비슷합니다.

  • 소수 부분이없는 경우는
  • 000 구분자로 점을 number_format()

내가 할 것이 필요하므로

$number = number_format(1599, 0, ".", ","); 

이 결과는 같아야합니다

1599 => 1.500 
899.99 => 899 
70 => 70 

sprintf()을 사용하면 가능합니까?

종류와 관련, 로버트

+0

이 모든','으로'.' 찾으시는 것입니까? –

+1

'sprintf'가 천 단위 구분 기호를 지원한다고 생각하지 않습니다. 'number_format'을 사용할 수없는 이유가 있습니까? –

+0

나는 올바른 질문을 이해한다면'1599 => 1.500'은'1599 => 1.599'로 읽어야한다고 생각합니다. – core1024

답변

9
sprintf('A number: %s', number_format(1599, 0, '.', ',')) 

아니, 다른 방법이 없습니다. (s)printf에는 천 단위 구분 기호를 추가하는 옵션이 없습니다.

1

당신은 사용할 수 있습니다

sprintf("%.2f", $val); 
+1

이것은 천 단위 구분 기호를 추가하지 않으며 '.'로 변경하지 않습니다. 1000으로 나누면 최대 100 만까지는 작동하지만 더 이상은 사용할 수 없습니다 :'sprintf ('%. 3f', $ val/1000)' – Owen

관련 문제