当前位置: 首页 > 知识库问答 >
问题:

为什么PHP能在其他语言失败的情况下计算出0.1+0.2?

寇桐
2023-03-14
php > echo 0.1 + 0.2;
0.3
php > var_dump(0.1 + 0.2);
float(0.3)
php > var_dump(0.1 + 0.2 == 0.3);
bool(false)

这是怎么回事?

共有1个答案

柯曦
2023-03-14

PHP有一个precision配置值,它设置浮点数中显示的有效位数。默认为14,这是0.1+0.2显示为0.3的原因。

但是,如果您这样做:

ini_set('precision', 17);
echo 0.1 + 0.2;

您将得到0.300000000000000004

 类似资料:
  • 问题内容: 什么语言用于构建c ++和java等底层语言? 您怎么能没有语言地建立第一语言? 问题答案: 在编译器的上下文中,此操作通常称为bootstrapping。特别是,请参阅“鸡肉和鸡蛋问题”部分,以直接找到您的问题。 非常 第一 编译器会一直手用汇编语言编写。如果您的下一个问题是“第一个汇编程序是怎么写的?” 那么答案是,第一个汇编器是用二进制机器代码手写的,并且可能带有前面板拨动开关。

  • 问题内容: 给定代表置换原子的N个元素的数组,是否存在类似的算法: 其中是元素数组,是排列的索引,是排列的大小。 例如: 将打印: 直到$ permutation_index才计算每个排列? 我听到了一些关于因式排列的知识,但是我发现的每个实现都给出了具有相同大小V的排列,这不是我的情况。 谢谢。 问题答案: 如RickyBobby所述,在考虑排列的字典顺序时,您应该利用阶乘分解来发挥自己的优势。

  • 问题内容: 今天,在浏览各种问题时,我遇到了一个问题,在我看来有点不可思议,为什么一个人要在上面加上a ,对于这种情况会不会有什么真正的原因,所以这只是微不足道的吗? 问题答案: 动画图像作为GUI的BG。我使用HTML来调整此尺寸(x3),但是如果它已经是所需的尺寸,则可以直接将其设置为标签的。 不知道它是否是“真正的”。这似乎是一个主观术语,需要更多说明。我从来没有使用过这种方法,只是想通了,

  • 我目前正在承担一个项目,我正在使用Java微基准线束(JMH)框架测量Java中不同类型循环的速度。我得到了一些关于流的有趣结果,我无法解释,并且想知道是否更了解流和数组列表的人可以帮助我解释我的结果。 基本上,当遍历大小为100的数组列表时,stream.forEach方法比任何其他类型的循环都快得多: 我的结果图表显示在这里:https://i.imgur.com/ypXoWWq.png 我尝

  • 本文向大家介绍在什么情况下选择webpack?在什么情况下选择rollup?相关面试题,主要包含被问及在什么情况下选择webpack?在什么情况下选择rollup?时的应答技巧和注意事项,需要的朋友参考一下 非要一句话区分的话 如果是用,如果是用其实界限并不是特别明显。在某些特殊情况下可以互用

  • 问题内容: 说我有一个清单。在什么情况下被称为? 我基本上理解了文档,但是我也想看到一个示例来毫无疑问地阐明其用法。 问题答案: 当Python尝试将两个对象相乘时,它首先尝试调用左侧对象的方法。如果左对象没有方法(或者该方法返回,表明它不适用于所讨论的右操作数),则Python希望知道右对象是否可以进行乘法。如果右操作数与左操作数的类型相同,Python就会知道它不能,因为如果左对象不能做到这一