SQL Server:Java中的更多小数位数数据
我正在使用Java和JDBC从MS SQL Server导入数据。我数据库中的数据有两个小数位数 SQL Server中的SQL Server:Java中的更多小数位数数据,java,sql,sql-server,database,jdbc,Java,Sql,Sql Server,Database,Jdbc,我正在使用Java和JDBC从MS SQL Server导入数据。我数据库中的数据有两个小数位数 SQL Server中的MONEY数据类型具有四位精度,因此您看到的是预期的结果。如果您只需要两位数的精度,可以使用十进制 您的前端应该能够显示数据,但它希望显示数据。完全同意Tom H的解释。如果您希望在用户端格式化数据,可以使用DecimalFormat,或者更精确地说,因为它是货币,请尝试使用NumberFormat的货币实例 DecimalFormat df = new DecimalFor
MONEY
数据类型具有四位精度,因此您看到的是预期的结果。如果您只需要两位数的精度,可以使用十进制
您的前端应该能够显示数据,但它希望显示数据。完全同意Tom H的解释。如果您希望在用户端格式化数据,可以使用DecimalFormat,或者更精确地说,因为它是货币,请尝试使用NumberFormat的货币实例
DecimalFormat df = new DecimalFormat("##.00");
String result = df.format(Double.parseDouble((data)));
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);
String result = nf.format(new BigDecimal(data));
您应该根据需要更改区域设置。仅供参考,使用currency实例将从Locale返回带有相应货币符号的值。我需要2个小数位数。但不是4:)您可以将值格式化为2位精度,例如使用
String.format()
。我只知道String.format
与printf()
结合使用。可能不相关,但您不应该使用getString()
从ResultSet
检索数字