我想用以下规则打印出十进制数字:
以下是我希望如何显示数字的一些示例:
我认识到我可以使用模运算来分离积分和小数部分,然后单独格式化它们,但这看起来很混乱。我希望使用sprintf
有一个更简单的解决方案,但我似乎无法让它发挥作用。
我已经尝试了以下(没有一项工作):
printf('%02.3f', 2.31); // nope
printf('%5.3f', 2.31); // nadda
printf('%05.5f', 2.31); // no way
printf('%02d', 2.31); // obviously not
printf('%03f', 2.31); // not that either
有没有干净的方法来做到这一点?我可以不吃蛋糕(前导零)并吃它(同时固定小数精度)?
答案 0 :(得分:3)
这应该适合你:
echo sprintf("%06.3f", 2.31);
输出:
02.310