首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP printf函数及其怪异行为

PHP printf函数及其怪异行为
EN

Stack Overflow用户
提问于 2014-06-19 10:27:29
回答 1查看 360关注 0票数 4

我搞不懂这些数字是什么意思。在我看来,印刷品似乎给了我错误的结果。

代码语言:javascript
复制
echo printf("%.2f", 1);
// 1.004

echo printf("%.3f", 1);
// 1.005

echo printf("%.2f", 1.1234);
// 1.124

首先,它似乎打印了太多的小数,我不知道这些数字是什么。有人能说明一下这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-19 11:03:21

很简单。printf()有一个返回值,它是整数。这个值是-结果字符串的长度。因此,您的代码做了两件事:

  • 首先,用printf()格式化和输出字符串
  • 其次,echo()结果,即每个字符串的长度。

例如,这是因为您看到的第一种情况是1.004。它是1.004 ( "1.00"字符串的长度是4)

如果您的目的是打印格式化字符串,请使用printf()

代码语言:javascript
复制
printf("%.2f", 1);

或者在回波中使用sprintf()

代码语言:javascript
复制
echo sprintf("%.2f", 1);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24304355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档