Java 我可以从两个整数中设置一个双精度吗?
我想知道是否可以从两个整数中设置一个double,比如: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
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