我正在构建一个使用 MathFP 库的单位转换器程序。通常,单位转换发生在以下公式中:
U1 (unit1) * K (常数) = U2 (unit2)
我希望能够检测到 int 何时溢出/下溢?我怎样才能检测到这种情况何时发生并优雅地处理问题。理想情况下,我会寻找一个通用的解决方案,因为我想用 long 类型的原语处理溢出:
我唯一的想法是:
int largeOne = bigNum;
int largeTwo = anotherbigNum;
//complete math operation
long l = largeOne * largeTwo;
if(l > Integer.MAX_SIZE){
System.out.println("Overflow");
//handle error
}
我是否应该为这些转换使用不同的原始数据类型,例如双精度?
在此先感谢您的帮助