我正在尝试使用 PHPprintf
功能打印出用户的存储容量。完整的公式看起来像这样:
echo printf("%.02f", ($size/(1024*1024))) . " GB";
鉴于$size == (10 * 1024 * 1024)
,这应该打印出来
10.00 GB
但事实并非如此。它打印10.04 GB
。此外,
echo printf("%.02f", 10)
结果是
10.04
什么?!在给它一个整数以转换为浮点数时,它将 10 转换为 10.00000009。
如何补救?显然,一种解决方案是将其作为整数打印出来,但该值并不总是整数;它可能是 5.57 GB,在这种情况下,该脚本的准确性非常重要。
还有嗯...
echo printf("%d", 10)
结果是
102
这里有些事情非常不对劲。
所以显然printf
并不意味着要得到回应。完全没有。
只需更改实例printf
to sprintf
解决了这个问题。
此外,删除回显,然后运行命令printf("%.02f", 10)
事实上,打印10.00
但是,应该注意的是,您不能像使用 echoing 那样将字符串附加到 printf 中。
如果你问我,PHP 应该抛出一个语法错误、意外的 T_FUNCTION 或其他什么,但我离题了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)