假设我有一个简单的浮点数数组
[0.315023, 1.0, 0.12345, 0121111]
并称它为 arr1。
我需要把这个数组变成这样:
[0.3150, 1.0000, 0.1234,0.1211] *请注意,1.0 现在是 1.0000,0.3150 末尾为 0
我尝试使用 for 循环遍历数组并对数字进行四舍五入,如下所示:
我表示 arr1 中的一个数字;假设 "newNum" 替换了 arr1 中的原始数字float newNum = Math.round(i*10000.0000)/10000.0000;
结果如下:
[0.315, 1.0, 0.1234, 0.1211]
如您所见,第一项末尾缺少 0,第二项末尾缺少大量零。
我尝试使用DecimalFormat,但它不适用于浮点数组;我也不是试图格式化小数,而是对它们进行四舍五入。(尽管我先尝试了一轮,然后是格式;由于数据类型的差异,这不起作用)。
为了上帝的爱,请帮助我。这就像我需要为我的项目完成的最后一件事。我离得很近!提前非常感谢!
*PS:我需要确保数组保持浮动;稍后我需要使用数组中的数据。
DecimalFormat f = new DecimalFormat("##.0000");
System.out.println(" output : "+ f.format(2.56));
遵循 java 文档来格式化数据
使用这个:-
DecimalFormat twoDForm = new DecimalFormat("#.####");
double d = Double.valueOf(twoDForm.format(newNum));