Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “小于”运算符也计算相等值_Java_Operators - Fatal编程技术网

Java “小于”运算符也计算相等值

Java “小于”运算符也计算相等值,java,operators,Java,Operators,在评估检查浮点值是否小于特定值的条件时遇到一些奇怪的行为 String s = "3700.7777"; System.out.println(Float.parseFloat(s)); if(Float.parseFloat(s) < 3700.7777){ System.out.println("Hi"); } String s=“3700.7777”; System.out.println(Float.parseFloat);

在评估检查浮点值是否小于特定值的条件时遇到一些奇怪的行为

    String s = "3700.7777";

    System.out.println(Float.parseFloat(s));

    if(Float.parseFloat(s) < 3700.7777){

        System.out.println("Hi");

    }
String s=“3700.7777”;
System.out.println(Float.parseFloat);
如果(浮点值小于3700.7777){
System.out.println(“Hi”);
}
即使“s”的值与条件中的值相同,代码仍然打印“Hi”。
由于我使用的是小于运算符,我的理解是,对于任何等于或大于3700.7777的值,条件将失败,并且不会打印“Hi”。

将条件更改为:

if(Float.parseFloat(s) < 3700.7777f) {
                                  ↑
if(Float.parseFloat<3700.7777f){
↑
有关更多信息,请参阅


您可能还想知道。

将您的条件更改为:

if(Float.parseFloat(s) < 3700.7777f) {
                                  ↑
if(Float.parseFloat<3700.7777f){
↑
有关更多信息,请参阅


您可能还想知道。

将您的条件更改为:

if(Float.parseFloat(s) < 3700.7777f) {
                                  ↑
if(Float.parseFloat<3700.7777f){
↑
有关更多信息,请参阅


您可能还想知道。

将您的条件更改为:

if(Float.parseFloat(s) < 3700.7777f) {
                                  ↑
if(Float.parseFloat<3700.7777f){
↑
有关更多信息,请参阅


您可能还想知道。

请与追加
f
literal进行比较,将其视为浮点值。现在它将该数字视为
double

if (Float.parseFloat(s) < 3700.7777f) {

            System.out.println("Hi");

}
if(Float.parseFloat<3700.7777f){
System.out.println(“Hi”);
}

请与追加
f
literal进行比较,将其视为浮点值。现在它将该数字视为
双精度

if (Float.parseFloat(s) < 3700.7777f) {

            System.out.println("Hi");

}
if(Float.parseFloat<3700.7777f){
System.out.println(“Hi”);
}

请与追加
f
literal进行比较,将其视为浮点值。现在它将该数字视为
双精度

if (Float.parseFloat(s) < 3700.7777f) {

            System.out.println("Hi");

}
if(Float.parseFloat<3700.7777f){
System.out.println(“Hi”);
}

请与追加
f
literal进行比较,将其视为浮点值。现在它将该数字视为
双精度

if (Float.parseFloat(s) < 3700.7777f) {

            System.out.println("Hi");

}
if(Float.parseFloat<3700.7777f){
System.out.println(“Hi”);
}

我想我将使用Double而不是Float。这解决了我的问题

    String s = "3700.7777";

    System.out.println(Double.parseDouble(s));

    if(Double.parseDouble(s) < 3700.7777){

        System.out.println("Hi");

    }
String s=“3700.7777”;
System.out.println(Double.parseDouble);
如果(双精度。双精度)<3700.7777{
System.out.println(“Hi”);
}

我想我将使用Double而不是Float。这解决了我的问题

    String s = "3700.7777";

    System.out.println(Double.parseDouble(s));

    if(Double.parseDouble(s) < 3700.7777){

        System.out.println("Hi");

    }
String s=“3700.7777”;
System.out.println(Double.parseDouble);
如果(双精度。双精度)<3700.7777{
System.out.println(“Hi”);
}

我想我将使用Double而不是Float。这解决了我的问题

    String s = "3700.7777";

    System.out.println(Double.parseDouble(s));

    if(Double.parseDouble(s) < 3700.7777){

        System.out.println("Hi");

    }
String s=“3700.7777”;
System.out.println(Double.parseDouble);
如果(双精度。双精度)<3700.7777{
System.out.println(“Hi”);
}

我想我将使用Double而不是Float。这解决了我的问题

    String s = "3700.7777";

    System.out.println(Double.parseDouble(s));

    if(Double.parseDouble(s) < 3700.7777){

        System.out.println("Hi");

    }
String s=“3700.7777”;
System.out.println(Double.parseDouble);
如果(双精度。双精度)<3700.7777{
System.out.println(“Hi”);
}

3700.7777
是一个
双精度的
。编辑:你应该避免测试浮点数是否相等,除非你非常小心并且确切地知道它们是如何工作的(你不知道,我不知道,绝大多数程序员不知道)。“即使's'的值与条件中的值相同”=>是吗?检查它是否适用于
if(Float.parseFloat==3700.7777f)
条件???
3700.7777
是一个
双精度
。编辑:除非你非常小心并且确切地知道浮点数是如何工作的,否则你应该避免测试浮点数是否相等(你不知道,我不知道,绝大多数程序员都不知道)。“即使's'的值与条件“=>中的值相同,是吗?检查它是否适用于
if(Float.parseFloat(s)==3700.7777f)
条件与否???
3700.7777
是一个
double
。编辑:你应该避免测试浮点数是否相等,除非你非常小心并且确切地知道它们是如何工作的(你不知道,我不知道,大多数程序员都不知道)。即使“s”的值与条件“=>是吗?检查它是否适用于
if(Float.parseFloat=3700.7777f)中的值相同
条件与否???
3700.7777
是一个
double
。编辑:你应该避免测试浮点数是否相等,除非你非常小心并且确切地知道它们是如何工作的(你不知道,我不知道,绝大多数程序员都不知道)。”即使“s”的值与条件“=>是吗?检查它是否适用于
if(Float.parseFloat=3700.7777f)中的值相同
condition or not??那是在我验证我是堆栈溢出的人之后。那是在我验证我是堆栈溢出的人之后。那是在我验证我是堆栈溢出的人之后。那是在我验证我是堆栈溢出的人之后。