2

2 つの整数から double を設定できるかどうか疑問に思っていました。

int i = 1;
int j = 2;

double l = i.j;

できれば、l を 1.2 に設定してください。

私は現在ループでこれを試していますが、何も起こりません:

for (int i = 0; i < 8; i++){
    for(int l = 0; l < 8; l++){
        double piece = i.l;
            ChessSquare chessSquare = new ChessSquare(i, l, piece);
            int[][] square = new int[i][l];
            frame.add(chessSquare);
    }
}
4

6 に答える 6

6
int i=1;
int j=2;
String s = i+"."+j;
double d = Double.parseDouble(s);
System.out.println(d);

これはどう?私はStringconcatやものがかなり迷惑になることを知っています(主に例外)が、確かに、ijが確かに数字になるのであれば、これはあなたを助けることができます。

于 2013-03-22T14:23:13.567 に答える
2

これはうまくいくはずですが、チェスゲームのどこでダブルが出てくるのかわかりません。

int i = 1;
int j = 2;
double piece = i + j /  Math.pow(10.0 , String.valueOf(j).length()) 
于 2013-03-22T14:23:10.120 に答える
1
int i = 1;
int j = 2;

double l = i + j/Math.pow(10, Math.floor(Math.log10(j) + 1));

例えば:

int i = 1234;
int j = 56789;

double l = i + j/Math.pow(10, Math.floor(Math.log10(j) + 1));

System.out.println(l);

出力:

1234.56789
于 2013-03-22T14:22:04.383 に答える
0

このソリューションはどうですか?

double l = i + (j / 10d);

これは、0から9までのjの値に対して機能します(10> j> = 0)。

于 2013-03-22T14:22:31.577 に答える
0

2 つの整数を 1 つの倍精度浮動小数点数に設定する場合は、別の方法を使用する必要があります。

代わりにこれを試してください:

int first = 1;
int second = 22;

double secondD = second;
while (secondD > 1) {
  secondD /= 10;
}

double firstD = first;
double result = firstD + secondD;
//result = 1.22
于 2013-03-22T14:26:48.360 に答える
0

どうぞ

int i = 1;
int j = 2;

double l = ((double)i*10+j)/10;
于 2013-03-22T14:24:57.277 に答える