我的目标是将值对添加到HashMap
上,如果已经使用了一个值,它将使前一个值增加.i。我的意思是,它将从0.1
... 0.9
开始,然后从0.10
,0.11
,0.12
等开始……
我已经开始:
for (int i=0; i < 50; i++){
Double test = Double.parseDouble( 0 + "." + i);
但是我找不到合适的测试来在双精度数达到.9(0.9,0.10)时将小数位添加到小数位。我尝试过的所有方法都无法可靠运行。我想知道是否有人可以提供帮助。
答案 0 :(得分:1)
您可以使用DecimalFormat
来获取两位十进制数字。参数中的“ .00”告诉格式化程序使用两位小数,而“#”表示按原样显示整个数字
DecimalFormat df = new DecimalFormat("#.00");
for(int i=0;i < 50 ;i++){
Double test = Double.parseDouble( 0 + "." + i);
System.out.println(df.format(test));
输出:
.00
.10
.20
.30
.40
.50
.60
.70
.80
.90
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
答案 1 :(得分:1)
我的意思是,它将从0.1 ... 0.9开始,然后是0.10、0.11,0.12,依此类推...
要打印此模式,最简单的解决方案是打印该值,因为它实际上是String运算而不是数学运算。
for (int i = 1; i <= 50; i++)
System.out.println("0." + i);
注意:对于double
,其值为0.1 == 0.10
,无法将它们区分开。
答案 2 :(得分:0)
怎么样
double division = 1.0;
for(int i=0;i < 50 ;i++){
if (i%10 == 0)
division *= 10;
Double test = i/division;
System.out.print(test + " ");
}
每次下降一位小数时,它都会重复一次,但我希望对其进行测试是可以的。