新手学php的疑问(周末结贴)

qq_20610429 2015-04-13 10:13:48
<?php
echo (int) ( (0.1+0.7) * 10 ); // 显示 7
echo (int) ( (0.2+0.7) * 10 ); // 显示 9
?>
第一条的执行结果为什么不是8
...全文
363 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_20610429 2015-04-17
  • 打赏
  • 举报
回复
智商众筹 2015-04-17
  • 打赏
  • 举报
回复
在回帖的时候,怎么判断楼主是不是骗人的?
qq_20610429 2015-04-17
  • 打赏
  • 举报
回复
在赶集网投简历的时候,怎么判断那家公司是不是骗人的?
blue44sky 2015-04-17
  • 打赏
  • 举报
回复
xuzuning 2015-04-16
  • 打赏
  • 举报
回复
$this 是实例化后的对象 A::foo(); 是以静态方式调用类的方法 php 5.3 以后将会有一个 Strict Standards 级别的错误警告: Non-static method A::foo() should not be called statically 不能以静态方式调用非静态方法 既然你是初学,建议使用的 php 版本为 5.4 及以上,错误检查级别为全部 这样比较容易形成良好的习惯
xuzuning 2015-04-16
  • 打赏
  • 举报
回复
$this 是实例化后的对象 A::foo(); 是以静态方式调用类的方法 php 5.3 以后将会有一个 Strict Standards 级别的错误警告: Non-static method A::foo() should not be called statically 不能以静态方式调用非静态方法 既然你是初学,建议使用的 php 版本为 5.4 及以上,错误检查级别为全部 这样比较容易形成良好的习惯
qq_20610429 2015-04-16
  • 打赏
  • 举报
回复

class A
{
    function foo()
    {
        if (isset($this)) {                                //这里的$this指的是类的对象吗?
            echo '$this is defined (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}
$a = new A();
$a->foo();     //输出$this is defined (A) 
echo '<br>';
A::foo();       //$this is not defined
A::foo()跟$a->foo() 调用的方法都一样,为什么输出来却不一样?
qq_20610429 2015-04-14
  • 打赏
  • 举报
回复
问题1:已解决 问题2:php如何调试项目?
傲雪星枫 2015-04-14
  • 打赏
  • 举报
回复
Suckor 2015-04-14
  • 打赏
  • 举报
回复
打开错误日志。
xuzuning 2015-04-13
  • 打赏
  • 举报
回复
那是你理解错了
(int) 强制转换成整数,此时只将小数部分截掉,并无其他处理
echo (int)2.2; //2
echo (int)2.9; //2
同理
echo (int)7.9999999999999991; //7

echo (0.1+0.7) * 10; //8
是因为 php 按有效数规则做了处理
qq_20610429 2015-04-13
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
浮点数的精度问题
 printf('%0.16f',  (0.1+0.7) * 10 ); // 7.9999999999999991

没加int 它就是8 echo ( (0.1+0.7) * 10 ); // 显示 8 echo (int) ( (0.1+0.7) * 10 ); // 显示 7 我的理解是:将右括号内的结果强制转化为int类型 即 echo(int)8;
xuzuning 2015-04-13
  • 打赏
  • 举报
回复
浮点数的精度问题
 printf('%0.16f',  (0.1+0.7) * 10 ); // 7.9999999999999991

傲雪星枫 2015-04-13
  • 打赏
  • 举报
回复

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧