当前位置: 首页 > 知识库问答 >
问题:

Java怎么把数字四舍五入到小数点后四位?[重复]

东门玺
2023-03-14

假设我有一个简单的浮点数数组

[0.315023,1.0,0.12345,0121111]

并称之为arr1。

我需要把这个数组变成这样:

[0.3150, 1.0000, 0.1234, 0.1211] *请注意,1.0 现在是 1.0000,0.3150 末尾为 0

我尝试使用for循环遍历数组,并将数字四舍五入如下:

// i代表arr1中的一个数字;我们来想象一下,用“newNum”替换arr 1 float new num = math . round(I * 10000.0000)/10000.0000中原来的数字;

结果如下:

[0.315, 1.0, 0.1234, 0.1211]

如你所见,第一项末尾缺少0,第二项末尾缺少很多0。

我尝试过使用DecimalFormat,但是它对float数组不起作用;我也没有试图格式化小数,我是四舍五入。(虽然我试过先圆再格式化;因为数据类型不同而无法工作)。

看在上帝的份上,请帮助我。这是我完成我的项目所需要完成的最后一件事。我是如此接近!提前非常感谢您!

*PS:我需要确保数组保持FLOAT;稍后我需要使用数组中的数据。

共有2个答案

赵同
2023-03-14

使用这个:-

 DecimalFormat twoDForm = new DecimalFormat("#.####");
 double d = Double.valueOf(twoDForm.format(newNum));
养聪
2023-03-14
DecimalFormat f = new DecimalFormat("##.0000");
  System.out.println(" output : "+ f.format(2.56));

遵循java文档的格式数据

 类似资料:
  • 问题内容: 如果值为,则应将其格式化为。如果是,那么应该是。 问题答案: 这是一个实用程序,可以将双精度舍入(而不是截断)双精度至小数位数。 例如: 原始版本;提防这个 这在小数位数很高(例如)或整数部分很大(例如)的极端情况下会严重崩溃。感谢Sloin指出这一点。 多年来,我一直在使用上面的方法将“不太大”的双精度取整到2或3个小数位(例如,以秒为单位的清理时间用于记录目的:27.9876543

  • 我如何四舍五入到两个小数位?

  • 获取以下数字集--> 当相加时,这些给出一个整数。

  • 我已经阅读了很多stackoverflow问题,但似乎没有一个对我有效。我正在使用<code>数学。round()进行舍入。这是代码: 我得到的输出是:< code>123,但我希望它是< code>123.14。我知道添加< code>*100/100会有所帮助,但是正如你所看到的,我并没有设法让它工作。 输入和输出都是双份绝对是必不可少的。 如果您更改上述代码的第4行并发布它,那将是很大的帮助

  • 问题内容: 我有以下JavaScript语法: 这四舍五入为整数。如何返回两位小数的结果? 问题答案: 注-如果3位数精度很重要,请参阅编辑4 toFixed将根据超过2个小数的值为您舍入或舍入。 编辑 -正如其他人所提到的,它将结果转换为字符串。为了避免这种情况: 编辑2- 正如注释中所提到的,此函数在某种程度上会失败,例如在1.005的情况下,它将返回1.00而不是1.01。如果准确性在这个程

  • 我需要把分钟换算成小时,四舍五入到小数点后两位。我还需要在小数点后显示最多两个数字。所以如果我有650分钟,那么小时应该是10.83。 但在这种情况下,如果我的分钟数是630小时,那就是10.5000000。但我只想要10.50(四舍五入后)。我如何做到这一点?