php intval的测试代码发现问题

<?php
$o = 0.1;
for($a = 1; $a < 100; $a++){
    $o += 0.1;
    echo "<br />intval('$o') = ".intval($o);
    if(intval($o)){
        print(" true");
    }else{
        print(" false");
    }
}
?>

结果:
intval('0.2') = 0 false
intval('0.3') = 0 false
intval('0.4') = 0 false
intval('0.5') = 0 false
intval('0.6') = 0 false
intval('0.7') = 0 false
intval('0.8') = 0 false
intval('0.9') = 0 false
intval('1') = 0 false
intval('1.1') = 1 true
intval('1.2') = 1 true
intval('1.3') = 1 true
intval('1.4') = 1 true
intval('1.5') = 1 true
intval('1.6') = 1 true
intval('1.7') = 1 true
intval('1.8') = 1 true
intval('1.9') = 1 true
intval('2') = 2 true
intval('2.1') = 2 true
intval('2.2') = 2 true
intval('2.3') = 2 true
intval('2.4') = 2 true
intval('2.5') = 2 true
intval('2.6') = 2 true
intval('2.7') = 2 true
intval('2.8') = 2 true
.....

发现 intval(1) 竟然返回 0

不测试不会知道的

假象:
print("<br />intval(\"1.0\") = ".intval("1.0"));
print("<br />intval('1.0') = ".intval('1.0'));
print("<br />intval('1') = ".intval('1'));

intval("1.0") = 1
intval('1.0') = 1
intval('1') = 1

(0)

相关推荐

  • php intval的测试代码发现问题

    <?php $o = 0.1; for($a = 1; $a < 100; $a++){     $o += 0.1;     echo "<br />intval('$o') = ".intval($o);     if(intval($o)){         print(" true");     }else{         print(" false");     } } ?> 结果: intval('0.

  • Java Unsafe类实现原理及测试代码

    Unsafe类介绍 第一次看到这个类时被它的名字吓到了,居然还有一个类自名Unsafe?读完本文,大家也能发现Unsafe类确实有点不那么安全,它能实现一些不那么常见的功能. Unsafe类使Java拥有了像C语言的指针一样操作内存空间的能力,同时也带来了指针的问题.过度的使用Unsafe类会使得出错的几率变大,因此Java官方并不建议使用的,官方文档也几乎没有.Oracle正在计划从Java 9中去掉Unsafe类,如果真是如此影响就太大了. Unsafe类提供了以下这些功能: 一.内存管理.

  • AJAX简单测试代码实例

    本文实例讲述了AJAX简单测试代码.分享给大家供大家参考.具体如下: 客户端:代码如下:(AJAX_test.html ) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/x

  • IOS开发-多线程队列测试代码

    直接贴测试代码了. 当前考虑的问题: 1.队列有多少个消费者 2.添加到队列的新task是同步运行(当前线程阻塞)还是异步(当前线程不阻塞) 3.多个队列之间的调度(此文章未涉及) // // 单线程和多线程并发队列测试(同步和异步) // // 基础原理: // 1)队列: // 1.1 dispatch_queue_t 是一个队列,一个FIFO的消费队列 // 1.2 消费者:队列配置的运行线程 // 1.3 被消费对象: 添加到队列中的运行任务(block等) // 1.4 运行任务:将任

  • 仅在IE6/7/8下cssText返回值少了分号的测试代码

    测试代码: IE6/7/8下cssText返回值少了分号 TEST var div = document.getElementsByTagName('div'); alert(div[0].style.cssText); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 各浏览器输出如下 IE6/7/8 : IE9/Firefox/Chrome/Safari/Opera : 可以看到IE6/7/8中少了分号.使用cssText属性时需注意.

  • PHP类中Static方法效率测试代码

    类的定义如下: 复制代码 代码如下: class test { public static function a(){} public function b(){} } $obj = new test; 比较以下几种情况 test::a(); $obj->a(); $obj->b(); 测试代码: 复制代码 代码如下: $obj = new test; $test_times = 100; $times = 10000; $effi1 = array(); $effi2 = array();

  • Python实现的多线程http压力测试代码

    本文实例讲述了Python实现的多线程http压力测试代码.分享给大家供大家参考,具体如下: # Python version 3.3 __author__ = 'Toil' import sys, getopt import threading def httpGet(url, file): import http.client conn = http.client.HTTPConnection(url) conn.request("GET", file) r = conn.getr

  • JS下高效拼装字符串的几种方法比较与测试代码

    在使用Ajax提交信息时,我可能常常需要拼装一些比较大的字符串通过XmlHttp来完成POST提交.尽管提交这样大的信息的做法看起来并不优雅,但有时我们可能不得不面对这样的需求.那么JavaScript中对字符串的累加速度如何呢?我们先来做下面的这个实验.累加一个长度为30000的字符串. 测试代码1 - 耗时: 14.325秒 复制代码 代码如下: var str = ""; for (var i = 0; i < 50000; i++) { str += "xxxx

  • java中继承测试代码分析

    继承:可以基于已经存在的类构造一个新类.继承已经存在的类就可以复用这些类的方法和域.在此基础上,可以添加新的方法和域,从而扩充了类的功能. public class ExtendsStu { /*动物类:动物都可以动 * 1.Dog 2.Cat * 在java中,子类可以继承父类的属性和功能; * 继承关系的指定: 子类 extends 父类 * 不能被继承的资源: * 1.子类不能继承父类的构造方法,而且必须调用一个父类的构造器(因为生成子类对象的时候会初始化父类属性) * 2.私有的资源不能

  • VS2019配置OpenCV4.1.0详细教程与测试代码(推荐)

    软件需求 VS2019社区版.win10操作系统.opencv4.1.0 VS2019社区版(免费) 下载地址 OpenCV4.1.0 下载地址 配置系统环境变量 1.安装Opencv,双击刚下载好的OpenCV 选择安装目录,我选择的是C:\Opencv4.1 2.配置环境变量 注:OpenCV4.1.0没有x86,只配置x64就ok了 右键点击桌面电脑,再点击属性,进入以下界面 点击** 高级程序设置** 点击环境变量 在系统变量Path中添加环境变量 我的安装目录C:\Opencv4.1

随机推荐