如何修复Java中的浮动小数错误?

如何修复Java中的浮动小数错误?,java,decimal,Java,Decimal,我试图使用内置的Math方法创建一个简单的程序,但每次运行它时都会出现一个浮点小数错误,因此我想知道什么是浮点小数,以及错误是如何发生的 这是我的密码: private void btnCalculateActionPerformed(java.awt.event.ActionEvent evt) { double dblSquareRoot = Double.parseDouble(lblSquareRoot.getText()); double dblRandomNumber

我试图使用内置的
Math
方法创建一个简单的程序,但每次运行它时都会出现一个浮点小数错误,因此我想知道什么是浮点小数,以及错误是如何发生的

这是我的密码:

private void btnCalculateActionPerformed(java.awt.event.ActionEvent evt) {
    double dblSquareRoot = Double.parseDouble(lblSquareRoot.getText());
    double dblRandomNumber = Double.parseDouble(lblRandomNumber.getText());
    double dblSquareNumber = Double.parseDouble(lblSquareNumber.getText());
    double dblRoundUp = Double.parseDouble(lblRoundUp.getText());
    double dblRoundDown = Double.parseDouble(lblRoundDown.getText());

    lblOutputSquareRoot.setText("" + Math.sqrt(dblSquareRoot));
    lblOutputSquareNumber.setText("" + Math.pow(dblSquareNumber, 2));
    lblOutputRoundUp.setText("" + Math.ceil(dblRoundUp));
    lblOutputRoundDown.setText("" + Math.floor(dblRoundDown)); 
}                                    

private void btnGenerateActionPerformed(java.awt.event.ActionEvent evt) {
    double dblRandomNumber = (Math.random() * 101.0);

    txtRandomNumber.setText("" + df.format(dblRandomNumber));
    txtSquareRoot.setText("" + df.format(dblRandomNumber));
    txtSquareNumber.setText("" + df.format(dblRandomNumber));
    txtRoundUp.setText("" + df.format(dblRandomNumber));
    txtRoundDown.setText("" + df.format(dblRandomNumber));

    df.format = "###.00";
}
错误-

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "Square Root"
  at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250)
  at java.lang.Double.parseDouble(Double.java:540)
  at mathMethods.btnCalculateActionPerformed(mathMethods.java:230)
  at mathMethods.access$100(mathMethods.java:13)
  at mathMethods$2.actionPerformed(mathMethods.java:97)
  at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
  at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
  at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
  at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
  at java.awt.Component.processMouseEvent(Component.java:6516)
  at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
  at java.awt.Component.processEvent(Component.java:6281)
  at java.awt.Container.processEvent(Container.java:2229)
  at java.awt.Component.dispatchEventImpl(Component.java:4872)
  at java.awt.Container.dispatchEventImpl(Container.java:2287)
  at java.awt.Component.dispatchEvent(Component.java:4698)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
  at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
  at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
  at java.awt.Container.dispatchEventImpl(Container.java:2273)
  at java.awt.Window.dispatchEventImpl(Window.java:2719)
  at java.awt.Component.dispatchEvent(Component.java:4698)
  at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
  at java.awt.EventQueue.access$200(EventQueue.java:103)
  at java.awt.EventQueue$3.run(EventQueue.java:694)
  at java.awt.EventQueue$3.run(EventQueue.java:692)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
  at java.awt.EventQueue$4.run(EventQueue.java:708)
  at java.awt.EventQueue$4.run(EventQueue.java:706)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
  at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

看起来您正在尝试从标签而不是文本字段解析字符串。看看变量名

“浮动小数错误”是什么意思?请将StackTrace添加到您的问题中,并尝试更详细地描述错误以及您试图通过发布的代码实现的目标。代码所做的只是创建一个0-100之间的随机数,然后输出平方根、平方、,和四舍五入版本的数字来分隔标签是
df
应该是DecimalFormat对象吗?这不是完整的堆栈跟踪,我们需要所有这些(除非你知道你在做什么)@BinkanSalaryman编辑为未来,学习如何使用。