Java 我可以从两个整数中设置一个双精度吗?

Java 我可以从两个整数中设置一个双精度吗?,java,double,Java,Double,我想知道是否可以从两个整数中设置一个double,比如: int i = 1; int j = 2; double l = i.j; 所以我希望我能设置为1.2 我目前正在尝试一个循环,但没有任何结果: for (int i = 0; i < 8; i++){ for(int l = 0; l < 8; l++){ double piece = i.l; ChessSquare chessSquare = new ChessSqua

我想知道是否可以从两个整数中设置一个double,比如:

int i = 1;
int j = 2;

double l = i.j;
所以我希望我能设置为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);
    }
}
for(int i=0;i<8;i++){
对于(int l=0;l<8;l++){
双件=i.l;
ChessSquare ChessSquare=新的ChessSquare(i、l、片);
整数[][]平方=新整数[i][l];
帧。添加(棋盘格);
}
}
例如:

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

这个解决方案怎么样:

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

它适用于0到9之间的j值(10>j>=0)

这应该行得通,尽管我不明白在国际象棋比赛中,双人在哪里起作用:

int i = 1;
int j = 2;
double piece = i + j /  Math.pow(10.0 , String.valueOf(j).length()) 
这个怎么样?我知道
String
concat和其他东西会很烦人(主要是例外),但当然,如果
I
&
j
肯定是数字的话,这可以帮你解决问题。

给你

int i = 1;
int j = 2;

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

如果要将两个整数设置为一个双精度,则必须采用另一种方法

请尝试以下方法:

int first = 1;
int second = 22;

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

double firstD = first;
double result = firstD + secondD;
//result = 1.22

你什么意思?您正在尝试使用双精度计数器来存储这两个整数?这似乎不是使用
double
的好地方。它在棋盘格中的作用是什么?你可以把第二个整数除以10.0再加上它。很抱歉,以现在的形式来说,这个问题没有什么意义。你想用
piece
做什么?这是一种非常奇怪的数据类型误用。不要使用
double
来存储这样的棋盘位置。while循环将返回0,将其更改为
secondD>1
,然后除以10.0而不是10。您仍然需要将
secondD/=10
更改为
secondD/=10.0
,将int除以int将仍然返回0。不。。。它在我的机器上使用10,因为secondD是我的两倍错误,你是对的,出于某种原因,我假设secondD开始时是int
int i = 1;
int j = 2;

double l = ((double)i*10+j)/10;
int first = 1;
int second = 22;

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

double firstD = first;
double result = firstD + secondD;
//result = 1.22