Я работаю над Java (Swing), который подключен к базе данных на H2.Я приложил скриншот JFrame, я ввожу значения как пользователь, и в базе данных хранится какое-то мусорное значение.(см. снимок экрана базы данных, второй столбец, где empid = 1300)
Это потому, что они не могут быть точно представлены, и вы должны использовать BigDecimal в Java и DECIMAL в SQL.См. Здесь http://www.h2database.com/html/datatypes.html#decimal_type. Там написано:
BigDecimal
DECIMAL
Тип DECIMAL: тип данных с фиксированной точностью и масштабом.Этот тип данных рекомендуется для хранения значений валют. Тип DOUBLE: число с плавающей запятой.Не следует использовать для представления значений валют из-за проблем с округлением.Если для имени типа FLOAT указано значение точности, оно должно быть от 25 до 53.
Тип DECIMAL: тип данных с фиксированной точностью и масштабом.Этот тип данных рекомендуется для хранения значений валют.
Тип DOUBLE: число с плавающей запятой.Не следует использовать для представления значений валют из-за проблем с округлением.Если для имени типа FLOAT указано значение точности, оно должно быть от 25 до 53.