我正在处理一个项目,并且在解析数字时遇到了一些问题。我不知道为什么我会得到奇怪的结果。解析JFormattedTextField,操作数据并解析回字符串
首先我有一个拥有12位数字,像这样一个JFormattedText场:
referenceNumberField = new JFormattedTextField(nf);
referenceNumberField.setText("371260062101009");
referenceNumberField.setColumns(12);
panel5.add(referenceNumberField);
有一个在我的程序循环进一步导致要写入次数无限量这个数字。我被要求确保在每次写入数字时都不会改变数字的数量。为此,我决定将当前的计数器值添加到每次运行的数字中,因此它总是会有所不同,但仍然是12位数字。
要开始我试图解析JFormattedTextField到一个字符串。
String referenceStartingString = referenceNumberField.getText();
这部分工作正常。接下来我想把它变成一个双重的,所以我可以操纵它。
double referenceNumberDouble = Double.parseDouble(referenceStartingString);
System.out.println("Reference Number Double: "+referenceNumberDouble);
我遇到的问题真的在于此。结果我从运行时得到的是这样的:
Reference Number Double: 3.71260062101009E14
我不知道为什么小数已加入我也不是知道为什么正是“E”是数。我认为这代表着指数,如果数量超过双倍的限制(我不认为这样做)只显示了..
只是为了澄清下一阶段是
把我的柜台到双
double countDouble = (double) j;
添加两者结合起来:
double referenceTotal = referenceNumberDouble + countDouble;
和转回到一个字符串..
String referenceString = String.valueOf(referenceTotal);
不能将字符串变成双倍我不能再走了,我感谢任何帮助!
谢谢!我应该想到这一点,但我认为,双可以举行一个非常大的数字..我会切换到很长时间,并从那里去。 10分钟强制等待后,我会接受你的答案。 – jesric1029