java - Java:如何将数组中的所有元素四舍五入到小数点后两位?
问题描述
我在从数组中舍入双精度值时遇到问题。
刚开始学习JAVA的时候,惊讶于数组的打印不一样。我的意思是,为了打印出充满浮点值的整个数组,您不能只循环 (i) 次并执行System.out.println("%.2f", array[i]);
.
打印方式是System.out.println(Arrays.toString(array));
如果它不是一个数组,我会用System.out.println("%.2f, val)
. 但是,使用数组,我不知道该怎么做。感谢帮助。
这是我的整个计算课。每个计算都是正确的,唯一的问题是四舍五入和打印。
package sample;
import java.util.Arrays;
public class Calculations extends Data{
public void calculateLinearCredit()
{
double[] linearCredit = new double[super.term];
double[] linearInterest = new double [super.term];
double[] linearPayment = new double [super.term];
double firstMonthInterest = ((super.loan / super.term) * super.percentage) / 100;
double Credit = super.loan / super.term;
double interestDiff = firstMonthInterest/12;
linearInterest[0] = firstMonthInterest;
for(int i = 0; i < linearCredit.length; i++)
{
linearCredit[i] = Credit;
}
for(int i = 1; i < linearInterest.length; i++)
{
linearInterest[i] = linearInterest[i-1] - interestDiff;
}
for(int i = 0; i < linearPayment.length; i++)
{
linearPayment[i] = linearInterest[i] + linearCredit[i];
}
//-----------------------------------------------
//System.out.println(Arrays.toString(linearPayment));
//System.out.println(Arrays.toString(linearCredit));
//System.out.println(Arrays.toString(linearInterest));
}
}
解决方案
您不能只循环 (i) 次并执行 System.out.println("%.2f", array[i])
当然可以。只需使用正确的方法。
float[] array = new float[]{1.2f, 2.3425f, 3.4525f};
for (int i = 0; i < array.length; i++) {
System.out.printf("%.2f%n", array[i]);
}
你甚至可以这样做:
for (float value : array) {
System.out.printf("%.2f%n", value);
}
如果你喜欢新的Stream
API,你也可以这样做(你必须使用double
一些复杂的类型系统原因,我不应该在这里讨论)。
double[] dblArray = new double[]{1.2, 2.3425, 3.4525};
Arrays.stream(dblArray)
.forEach(value -> System.out.printf("%.2f%n", value));
推荐阅读
- google-apps-script - 将特定单元格复制到 Google 文档的 Google App 脚本?
- tcl - 从 TCL 中的 if 语句返回空字符串
- scala - 编写我自己的语法糖函数来使用 Await.result
- spring-boot - 如何在沙发库中使用 LIKE n1ql 查询?
- java - java对象未编译
- python - 将参数值打印到堆栈跟踪中的函数
- node.js - 条纹:未知参数([object Object])。在已连接帐户上创建新计划时出错
- git - 可以在 GitHub 中进行 git pull 吗?
- java - 更新 zip 存档中的文件
- java - 如何使@SpringBootTest 使用可配置的属性