簡體   English   中英

如何在Java中以.i遞增字符串?

[英]How to increment a string by .i in Java?

我的目標是將值對添加到HashMap ,如果已經使用了一個值,它將使前一個值增加.i。 我的意思是,它將開始為0.1 ... 0.9 ,然后0.100.110.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM