echo intval((0.1+0.7)*10) 结果为7

2024-06-19 19:32
文章标签 0.1 intval echo 0.7

本文主要是介绍echo intval((0.1+0.7)*10) 结果为7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以十进制能够精确表示的有理数如 0.1 或 0.7,无论有多少尾数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式。

这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999999991118...

不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.333333333...

所以永远不要相信浮点数结果精确到了最后一位,也不要比较两个浮点数是否相等。

PHP 的 Manual 里有写,是 intval() 这个函数的问题,采用的是“截断”法取整。

intval converts doubles to integers by truncating the fractional component of the number.(intval通过截断数字的小数部分将双精度浮点数转换为整数。)

 

 

这篇关于echo intval((0.1+0.7)*10) 结果为7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075941

相关文章

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

【JavaScript】0.1 + 0.2 = 0.30000000000000004该怎样理解?

如果你以前没了解过类似的坑,乍一看似乎觉得不可思议。但是某些语言下事实确实如此(比如 Javascript): 再看个例子,+1 后居然等于原数,没天理啊! 如果你不知道原因,跟着楼主一起来探究下精度丢失的过程吧。 事实上不仅仅是 Javascript,在很多语言中 0.1 + 0.2 都会得到 0.30000000000000004,为此还诞生了一个好玩的网站 0.30000000

Day18_0.1基础学习MATLAB学习小技巧总结(18)——MATLAB绘图篇(1)

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。 参考书目:《MATLAB基础教程 (第三版) (薛山)》 之前的章节都是基础的数据运算用法,对于功课来说更加重要的内容是建模、绘图、观察数据趋势,接下来我会结合自己的使用经验,来为大家分享绘图、建模使用的小技巧。 二维图形绘制 在本章开

shell中echo输出换行的方法

echo要支持同C语言一样的\转义功能,只需要加上参数-e,如下所示: [~]#echo "Hello world.\nHello sea"Hello world.\nHello sea[~]#echo -e "Hello world.\nHello sea"Hello world.Hello sea[~]# 不加-e 看一下man的说明: [~]#man echo | cat EC

Day17_0.1基础学习MATLAB学习小技巧总结(17)——字符向量元胞数组

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。 素材来源“数学建模清风” 特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步去链接中的视频,观看学习。也欢迎各位在留言区补充,纠错,讨论。 原素材和学习视频地址:MATLAB教程

127.0.0.1与本机ip的区别

127.0.0.1是回送地址,指本地机。 127.0.0.1是用来检测网络的自己的IP.就是说任何一台电脑来说,不管是否连接到INTERNET上,127.0.0.1对于自己来说都是自己.就是说,每台电脑都是由4位的256进制数组成的. 而192.168.1.102现在是本机,但本机也可以设置成其他ip地址,但127.0.0.1一定是指本机。 多人会接触到这个ip地址127.0.0.1。也许

网络编程-echo-back-server-上

echo-back-server 是在学习 TCP/IP 网络编程时惯常使用、实现的一个服务端。它的所要实 现的业务逻辑很简单:服务端在收到客户端发来的数据之后,原样将数据再发回给客户端。这 也是它为什么叫 echo-back-server ( 回声服务器 ) 的原因。 1. 客户端的实现 1.1 说明 echo-back-server 的实现 ( 及其后续的迭代升级 ) 服务端是重点,而客

rosdep问题 pkg_resources.DistributionNotFound: The 'rosdistro=0.7.5' distribution

问题1 rosdep出现错误 pkg_resources.DistributionNotFound: The 'rosdistro>=0.7.5' distribution 解决方法 pip install rosdistro==0.7.5 -i https://pypi.tuna.tsinghua.edu.cn/simple 问题2 roscore出现错误 Invalid <par

golang学习笔记——Gin、Beego、Iris、Echo框架学习资料

Gin Gin文档-中文 Gin文档-英文 Beego Beego文档-中文 Beego文档-英文 应用例子 Iris Iris文档-中文 Iris文档-英文 Echo Echo文档-中文 Echo文档-英文 Echo中间件

避免’sudo echo x ’ 时’Permission denied’ 甲: 示例 sudo echo a 1.txt -bash: 1.txt: Permission denied 乙:

换了公司,没有root权限后,发现还有这种破问题 避免’sudo echo x >’ 时’Permission denied’ 甲: 示例 sudo echo a > 1.txt -bash: 1.txt: Permission denied 乙: 分析: bash 拒绝这么做,说是权限不够. 这是因为重定向符号 “>” 也是 bash 的命令。sudo 只是让 echo 命令具有了 r