我正在使用一个返回float
的java函数private float getEventScaledX(float eventX, float resX) {
return (eventX * frameWidth) / resX;
}
将其存储在mysql db下时,它会抛出异常
Caused by: java.sql.SQLException: 'Infinity' is not a valid numeric or approximate numeric value
请建议在java方面处理它的正确方法来停止此异常,但也要获得正确的预期结果。
答案 0 :(得分:0)
这里的问题是(由@ c0der和@apomene报道)resX为零。
JAVA浮点数据类型在除以零运算时不抛出任何算术异常,而是返回Infinity / NaN作为值。哪个MySQL不能存储为有效的数字类型,因此异常。
检查(resX> 0)解决了我的问题。