当尝试使用BigDecimal保存对象时,发现错误。mssql-jdbc无法保存BigDecimal字段。将数据类型nvarchar转换为十进制时出错
com.microsoft.sqlserver.jdbc.SQLServerException:错误转换数据类型为nvarchar为十进制
避免这种错误,我必须以降低的BigDecimal精度。或者只是使用JTDS驱动程序。
也许,我不明白什么?这个错误持续多年。使用mssql-jdbc时是否有一些属性需要设置?
当尝试使用BigDecimal保存对象时,发现错误。mssql-jdbc无法保存BigDecimal字段。将数据类型nvarchar转换为十进制时出错
com.microsoft.sqlserver.jdbc.SQLServerException:错误转换数据类型为nvarchar为十进制
避免这种错误,我必须以降低的BigDecimal精度。或者只是使用JTDS驱动程序。
也许,我不明白什么?这个错误持续多年。使用mssql-jdbc时是否有一些属性需要设置?
http://dertompson.com/2008/01/03/bigdecimal-and-jdbc-since-java-5-0-2/
显然转换过程转换的双重可能含有小数点后面的值太多的字符串。然后将其转换为BigDecimal。这个转换过程就是错误来自的地方。
我解决了这个问题,它使用decimalFormat()来保留我想要的有效数字的数目,并在新的BigDecimal()转换中使用该字符串。
请按照下面的链接 - 需要使用大规模的功能,这样就可以圆十进制
是的,我知道的悲惨故事说。但我很惊讶,在2017年仍然没有解决方案(除非手动缩放)。 – jNess