2017-09-26 5 views
0

printf 문서를 다시 읽은 후 %g 속성을 사용해 보려고했습니다. 두 자리 숫자로 작업하면 잘못 될 수 있습니다. 맞습니까?printf 및 지수 서식 문제

php -r "echo printf('%g', 123.4000);" 
123.45  // What? 
php -r "echo printf('%g', 123.4500);" 
123.456 // This can't be right 
php -r "echo printf('%g', '123.4000');" 
123.45 

나는 123.4 또는 심지어 1234e-1을 기대하고 있었다. 그래서, 내 추측이 잘못 됐어?

+0

지수에 코드를 다시 작성할 수는 항상 지수를 표현하기 위해 두 개 이상의 숫자 및 필요에 따라 더 만 많은 숫자가 포함되어 있습니다. –

답변

0

sprintf 에코가있는 경우 printf 출력 문자 수를 출력 할 수 있습니다. 그래서

string sprintf (string $format [, mixed $args [, mixed $... ]]) 
int printf (string $format [, mixed $args [, mixed $... ]]) 

아니면 php -r "printf('%g', '123.4000');"

+0

당신 말이 맞아요. 나는 내가 사용하고있는 기능을 알지 못했던 % g 부분에 너무 집중했다. –

+0

@ Alwin Kesler, 받아 들인 답을 확인해주세요. –