首页
关于
Search
1
在投射和录制时显示敏感信息写给TeamViewer,anydesk,向日葵
8,614 阅读
2
sublime 3155-3175 LICENSE
7,910 阅读
3
mysql存储过程&时间累加插入
7,753 阅读
4
永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。
4,486 阅读
5
mysql-workbench中duration fetch的含义
4,460 阅读
ubuntu
linux
sublime
php
mysql
JS
CSS
其他
chrome
redis
登录
Search
标签搜索
mysql
curl
grep
journalctl
rename
You can't specify target table
only_full_group_by
Sub-process
警示
dropbox
mtr
curl抓取重定向
floor
intval
ceil
round
pixmap
adwaita
date.utc
gmmktime
五好的Book
累计撰写
194
篇文章
累计收到
31
条评论
首页
栏目
ubuntu
linux
sublime
php
mysql
JS
CSS
其他
chrome
redis
页面
关于
搜索到
1
篇与
的结果
2020-05-26
永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。
今天碰到一个奇葩的事情:用户有书币888 看一本刚好需要 8.88元的书然而看不了,提示需要充值。怎么能这么不要脸呢,明显可以看阿,这不科学阿,然而这却是真实的,测试居然真和用户反馈一样,不是说好的PHP是弱类型语言吗?现在把过程写一下: $a=把钱转书币 8.88*100 $b=账户余额 888 比较$a和$b 的大小if($b>=$a){可以看}else{不可以看,跳充值页面} 奇葩的是 这里 会跳到{不可以看,跳充值页面} 这里的代码块。这里为什么会出现这种情况呢?其他过程不说了, 就列出关键的判断var_dump($b) 和 var_dump($a) 分别打印出来 就知道为什么了。结果为:int(888) float(888) 这里的解决办法是 把 float 转成int$a=intval($a); 这样问题就解决了。再看看 PHP 的 float 的文档 https://www.php.net/manual/zh/language.types.float.php真是学艺不精阿。
2020年05月26日
4,486 阅读
2 评论
0 点赞