在java中将字符串转换为浮点时,如何避免溢出而不使用java';什么是内置函数?
我需要用java编写一个方法,将给定的字符串转换为float。 我的问题是如何避免溢出-不要使值大于Float.MAX_值而小于Float.MAX_值 Float.MIN_值 tnx 将其夹紧到以下范围:在java中将字符串转换为浮点时,如何避免溢出而不使用java';什么是内置函数?,java,string,floating-point,Java,String,Floating Point,我需要用java编写一个方法,将给定的字符串转换为float。 我的问题是如何避免溢出-不要使值大于Float.MAX_值而小于Float.MAX_值 Float.MIN_值 tnx 将其夹紧到以下范围: float clamped = Math.max(Float.MIN_VALUE, Math.min(Float.MAX_VALUE, Float.parseFloat(yourString))); 请注意,您说的“不…低于Float.MIN_值”-这可能不是您想要的:与Integer和Lo
float clamped = Math.max(Float.MIN_VALUE, Math.min(Float.MAX_VALUE, Float.parseFloat(yourString)));
请注意,您说的“不…低于Float.MIN_值”-这可能不是您想要的:与Integer
和Long
不同的是,MIN_值是一个大的负,Float
和Double
的MIN_值是一个非常小的正数
如果您的意思是希望clipped
为正值,请如上所述使用max(Float.MIN_VALUE,…)
;如果您的意思是不希望它是负的和无限的,请使用max(-Float.max_VALUE,…)
如果需要验证该值是否在范围内,如果不在范围内则引发异常,请编写一个方法:
float checkRange(float v) {
if (Float.isNan(v)) throw new IllegalArgumentException("Too not numbery!");
if (v < Float.MIN_VALUE) throw new IllegalArgumentException("Too small!");
if (v > Float.MAX_VALUE) throw new IllegalArgumentException("Too big!");
return v;
}
浮动检查范围(浮动v){
if(Float.isNan(v))抛出新的IllegalArgumentException(“太不numbery!”);
如果(vFloat.MAX_值)抛出新的IllegalArgumentException(“太大了!”);
返回v;
}
tnx!你能给我一个解释吗?如果你给它一个小于Float.MAX\u值的值,如果你给它一个大于Float.MAX\u值的值,你只需要想想min
就行了。(与max
)相同。但是当溢出发生时,它可能给出错误的值(答案)。那么解决方法是什么@医学博士。KawserHabib@Md.KawserHabib你能举个例子吗?