我想知道是否可以从两个整数中设置一个双精度,比如说:
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);
}
}
答案 0 :(得分:6)
int i=1;
int j=2;
String s = i+"."+j;
double d = Double.parseDouble(s);
System.out.println(d);
这个怎么样?我知道String
concat和东西会很烦人(主要是例外),但当然,这可以帮助你,如果i
&amp; j
肯定会是数字。
答案 1 :(得分: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
答案 2 :(得分:1)
这应该有用,虽然我不明白双棋在国际象棋比赛中的位置:
int i = 1;
int j = 2;
double piece = i + j / Math.pow(10.0 , String.valueOf(j).length())
答案 3 :(得分:0)
这个解决方案怎么样:
double l = i + (j / 10d);
适用于0到9之间的j值(10> j> = 0);
答案 4 :(得分:0)
你去吧
int i = 1;
int j = 2;
double l = ((double)i*10+j)/10;
答案 5 :(得分:0)
如果你想将两个整数设置为一个双,你必须采用另一种方式。
请改为尝试:
int first = 1;
int second = 22;
double secondD = second;
while (secondD > 1) {
secondD /= 10;
}
double firstD = first;
double result = firstD + secondD;
//result = 1.22