黑马程序员技术交流社区

标题: 定义: float x; 写出x与0的大小比较的if代码。。。很有意思。。。。。。 [打印本页]

作者: 胡大强    时间: 2012-6-15 02:27
标题: 定义: float x; 写出x与0的大小比较的if代码。。。很有意思。。。。。。
定义:
float x;
写出x与0的大小比较的if代码。。。很有意思。。。。。。
作者: 李盼    时间: 2012-6-15 07:05
public class Test {
    public static void main(String[] args) {
        float x=3.5f;
        if(x>=0)
                System.out.println(x);
        else
                System.out.println(0);
    }
   
}
我写了一个,还望楼主指教有什么特别之处!
作者: 郑冬    时间: 2012-6-15 08:48
float型变量不能直接与0进行比较,应该写为
if(x> 0.000001&&x <-0.000001)
{
    A;
}

作者: 何旭栋    时间: 2012-6-15 08:51
float x;
if (x > 0.0000001f)
    //x大于0
else if (x < 0.0000001f)
   //x小于0
else
    //x等于0
作者: 胡大强    时间: 2012-6-16 13:40
本帖最后由 胡大强 于 2012-6-16 13:52 编辑
李盼 发表于 2012-6-15 07:05
public class Test {
    public static void main(String[] args) {
        float x=3.5f;


float  型变量不能直接与0比较。。。x>-0.000001
                                                 x<0.000001


当初也是在书上看到的。。。。觉得的却很有意思。。就分享一下。。。。。
作者: 李盼    时间: 2012-6-16 13:58
胡大强 发表于 2012-6-16 13:40
float  型变量不能直接与0比较。。。x>-0.000001
                                                 x ...

为什么我直接与0比较也没报错啊 !
作者: 胡大强    时间: 2012-6-16 14:25
李盼 发表于 2012-6-16 13:58
为什么我直接与0比较也没报错啊 !

首先float 型在计算机系统中表示本来就不精确。。。比如,它的1的表示有可能是0.999999也可能是1.000001.。。都可能表示1.。。。所以float型变量不能直接与0比较。。。
你的这不是直接定义了float型的x=3.5么。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2