我使用Java和JDBC从MS SQL Server导入数据。我的数据库中的数据有2个小数位。
答案 0 :(得分:3)
SQL Server中的MONEY
数据类型具有四位精度,因此您所看到的是应该预期的内容。如果您只需要两位数的精度,则可以使用DECIMAL
。
您的前端应该能够显示数据,但它想要显示它。
答案 1 :(得分:0)
完全同意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));
您应该根据您的要求更改区域设置。仅供参考,使用货币实例将返回带有来自Locale的相应货币符号的值。