我搞不懂这些数字是什么意思。在我看来,印刷品似乎给了我错误的结果。
echo printf("%.2f", 1);
// 1.004
echo printf("%.3f", 1);
// 1.005
echo printf("%.2f", 1.1234);
// 1.124首先,它似乎打印了太多的小数,我不知道这些数字是什么。有人能说明一下这件事吗?
发布于 2014-06-19 11:03:21
很简单。printf()有一个返回值,它是整数。这个值是-结果字符串的长度。因此,您的代码做了两件事:
printf()格式化和输出字符串echo()结果,即每个字符串的长度。例如,这是因为您看到的第一种情况是1.004。它是1.00和4 ( "1.00"字符串的长度是4)
如果您的目的是打印格式化字符串,请使用printf():
printf("%.2f", 1);或者在回波中使用sprintf():
echo sprintf("%.2f", 1);https://stackoverflow.com/questions/24304355
复制相似问题