Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 - Fatal编程技术网

比较Java中的两个数字

比较Java中的两个数字,java,Java,我知道已经有很多这样的问题了。但是如果我需要比较两个数字,但我不知道它们是什么类型呢。这意味着其中一个可能是浮动的,另一个可能是长的。JavaCore或Apache中是否有一些lib可以解决这个问题(不幸的是,NumberRutils缺少这种方法)?我已经找了几个小时了,但没有成功。或者我应该用类似的东西重新发明轮子。我只是不相信像Java这样的高级语言没有工具来比较两个数字。您可以对两个数字使用该方法,然后比较两个值 如果需要更高的整数精度,可以将其作为特殊情况实现 如果您的对象不是Numbe

我知道已经有很多这样的问题了。但是如果我需要比较两个数字,但我不知道它们是什么类型呢。这意味着其中一个可能是浮动的,另一个可能是长的。JavaCore或Apache中是否有一些lib可以解决这个问题(不幸的是,NumberRutils缺少这种方法)?我已经找了几个小时了,但没有成功。或者我应该用类似的东西重新发明轮子。我只是不相信像Java这样的高级语言没有工具来比较两个数字。

您可以对两个数字使用该方法,然后比较两个值

如果需要更高的整数精度,可以将其作为特殊情况实现


如果您的对象不是Number的实例(例如,包含“Number”的对象或字符串),那么您应该扔掉所有代码,从头开始,老实说。

在进行比较之前,int将转换为a。原则上,将进行演员阵容,如

如果(a==(长)b)

Java将为您转换primative类型,前提是它不涉及精度损失。由于long可以保存int可以保存的所有值,转换将自动执行,但是如果您想在int应该存在的位置使用long,则必须显式转换(例如)long

编辑:要将长“x”强制转换为整数,请使用:
x=(int)x

介意共享代码吗?对象和数字都没有可比性,此运算符仅对可比对象重载。您可以尝试获取任何值(int、float、double)并将其转换为任何数据类型,例如float,然后与您知道的数据类型进行比较,=、=、!=。为了比较数字,您有
使用它。如果我有长3l和浮动3.3f怎么办?如果我将Fload长掷,它将计算3L=3.3f