PHP printf函数及其';这是一种奇怪的行为
我对这些数字的含义感到困惑。在我看来,printf给了我错误的结果PHP printf函数及其';这是一种奇怪的行为,php,integer,printf,Php,Integer,Printf,我对这些数字的含义感到困惑。在我看来,printf给了我错误的结果 echo printf("%.2f", 1); // 1.004 echo printf("%.3f", 1); // 1.005 echo printf("%.2f", 1.1234); // 1.124 首先,它似乎打印了太多的小数,我不知道这些数字是什么。有人能解释一下这件事吗?很简单。具有返回值,该值为整数。这个值是-结果字符串的长度。因此,您的代码正在做两件事: 首先,使用printf() 其次,echo()结
echo printf("%.2f", 1);
// 1.004
echo printf("%.3f", 1);
// 1.005
echo printf("%.2f", 1.1234);
// 1.124
首先,它似乎打印了太多的小数,我不知道这些数字是什么。有人能解释一下这件事吗?很简单。具有返回值,该值为整数。这个值是-结果字符串的长度。因此,您的代码正在做两件事:
- 首先,使用
printf()
- 其次,
结果,即每个字符串的长度echo()
1.004
。它是1.00
和4
(“1.00”
字符串的长度是4
)
如果要打印格式化字符串,请按原样使用printf()
:
printf("%.2f", 1);
或与echo一起使用:
echo sprintf("%.2f", 1);