[英]How to increment a string by .i in Java?
我的目標是將值對添加到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)時在雙精度數上加一個小數位。我嘗試過的所有方法都無法可靠運行。 我想知道是否有人可以提供幫助。
您可以使用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
我的意思是,它將從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
值,值0.1 == 0.10
,無法將它們區分開。
這個怎么樣
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 + " ");
}
每次下降一位小數時,它將具有重復項,但是我希望對其進行測試應該可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.