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