Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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.sql.SQLException:';无穷大';不是有效的数值或近似数值_Java_Mysql - Fatal编程技术网

java.sql.SQLException:';无穷大';不是有效的数值或近似数值

java.sql.SQLException:';无穷大';不是有效的数值或近似数值,java,mysql,Java,Mysql,我正在使用一个返回浮点值的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函数

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端处理它,以停止此异常,同时获得正确的预期结果。

这里的问题是(正如@c0der和@apomene所报告的)resX为零

JAVA float数据类型在执行零除操作时不会引发任何算术异常,而是返回无穷大/NaN作为值。MySQL无法将其存储为有效的数字类型,因此出现异常


检查(resX>0)修复了我的问题。

你传递了什么值?我猜resX接近于零。帧宽:400,事件x=320。5459899902344@apomene你的答案似乎是对的。欢迎来到SO。请将所有相关信息添加到您的问题或最佳帖子中
frameWidth:400 eventX=320.5459899902344
以及
resX
的值(我猜它是0,但我不应该猜测)和
sql
语句都应该在问题中。