printf和指数格式的问题

时间:2017-09-26 21:35:47

标签: php 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。那么,我的猜测在哪里错了?

1 个答案:

答案 0 :(得分:0)

您可以使用带有echo的sprintfprintf输出已打印字符的数量。 所以

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

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