如何转换数字格式
Posted
技术标签:
【中文标题】如何转换数字格式【英文标题】:How to convert NumberFormat 【发布时间】:2019-08-20 14:07:59 【问题描述】:我想更新一个数据库,想把数字像这样:1.384,38
这是我从文本字段更新的代码,但它不起作用
try
String query="Update Sina Set Iuuiu = ? where Formate = ? " ;
PreparedStatement pst=connection.prepareStatement(query);
pst.setDouble(1, Double.parseDouble(textField_3.getText()));
pst.setString(2, "Zuschnittentnahme Gegensauger");
pst.executeUpdate();
catch (Exception e1)
e1.printStackTrace();
这是我的代码。现在我必须这样输入:1344.43 但我想这样输入:1.344,43
【问题讨论】:
我们需要更多的上下文,例如:为什么要将数字存储为字符串?您的更新代码/查询是什么样的?究竟什么“不起作用”? - 一般来说,请阅读How to Ask,然后相应地更新您的问题。format(pst.setDouble(...))
你到底想在这里做什么?您是否意识到 PreparedStatement.setDouble()
不返回任何内容,即 void
?
也许this answer 可以帮助您解决数字格式问题。
【参考方案1】:
要在默认语言环境中解析数字,请使用
String text = textField_3.getText();
double number = NumberFormat.getInstance().parse(text).doubleValue();
pst.setDouble(1, number);
或使用给定的语言环境:
String text = textField_3.getText();
double number = NumberFormat.getInstance(Locale.GERMANY).parse(text).doubleValue();
pst.setDouble(1, number);
不要忘记 parseDouble
最终抛出的 ParseException
的 try-catch
【讨论】:
如何将其放入我的代码中?我想用一个字符串设置一个文本字段,但该文本字段只接受这种格式的双精度:133.43 这不是一个不同的问题吗?更新了问题以在您的代码中包含可能的用法 只需将您的pst.setDouble(1,...
行替换为我发布的 3 行以上是关于如何转换数字格式的主要内容,如果未能解决你的问题,请参考以下文章