printf和指数格式的问题



重新读取printf文档后,我想尝试 %g属性。如果我使用两个数字,什么可能出了问题,对

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。那么,我猜在哪里错?

您可以将sprintf与Echo一起使用,printf输出打印的字符数。所以

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

或者您可以将代码重写为php -r "printf('%g', '123.4000');"

最新更新