public static void main(String[] args) {
float numberF[]=new float[7];
displayF(numberF);
}
public static void displayF(float x[]) {
int one = 1;
double sum = 0;
for (int row = 0; row < x.length; row++) {
sum = Math.pow(one, 2);
x[row] = (int) sum;
System.out.printf("%.0f.%.0f ",x[row], x[row] );
one++;
}
}
这个方法给了我这个输出:
1.1 4.4 9.9 16.16 25.25 36.36 49.49
但我需要数组用for循环存储上面的数字。现在它只存储1.0 4.0 9.0 etc...
有关如何操作的任何建议吗?
答案 0 :(得分:0)
还有其他更有效的方法,但最简单的方法就是将你打印的内容解析成浮点数:
x[row] = Float.parseFloat(String.format("%.0f.%.0f", sum, sum));
正如SMA在评论中指出的那样,由于四舍五入的错误,这不会给出确切的答案。如果将数组类型更改为BigDecimal
,则可以存储确切的值:
x[row] = new BigDecimal(String.format("%.0f.%.0f", sum, sum));