我在Java中编写一些应该操作文本文件数据的代码。
在文本文件中保存了坐标。数字的布局始终是:5.000000000000000+0
读取,操作数据然后将其打印回文件。打印部分还没有工作,因为小数位数不同,我还没有成功地以所示的方式附加10的幂。
对于我尝试的十进制数字:
formatter.setMinimumFractionDigits(15);
和
formatter.setMaximumFractionDigits(15);
但有时仍显示更多数字。 如何实现双倍数字的显示格式或至少获得正确的十进制数字?
答案 0 :(得分:2)
使用String.format:
double x = 1.1231523235;
System.out.print(String.format("%.5f", x));
将打印
1,12346
如果你想要点作为分隔符使用
System.out.print(String.format(Locale.ENGLISH,"%.5f", x));
答案 1 :(得分:0)
这里有一个例子
NumberFormat form = NumberFormat.getInstance();
form.setMinimumIntegerDigits(2);
form.setMinimumFractionDigits(4);
form.setMaximumFractionDigits(6);
double number = 23.993838939239;
System.out.println("format : " + form.format(number));
我不确定你要求的是什么,但是如果你想完全格式化双号,你必须指定最小整数位数,最小分数位数和最大分数位数。 您应该发布一段代码,为您提供更准确的帮助。这段代码的结果是:
23,993839