java 中混合数据类型的数学方程式
Mathematical equation with mixed data types in java
我遇到了一个问题,要计算人口 (p0) 增加或减少到一定数量 (p) 所需的年数 (nbYear),如果人口 increas/decrease 按百分比(百分比)和每年增加的人数(8 月)计算。
public static int nbYear(int p0, double percent, int aug, int p) {
int nbYear = 0;
while(p0 < p){
p0 = p0 + (p0 * percent) + aug;
nbYear = nbYear + 1;
}
return nbYear;
}
}
这段代码没问题,但我得到了从 double 到 int 的可能有损转换错误。我的问题是如何在不丢失任何信息的情况下计算具有混合数据类型(本例为 int 和 double)的数学方程式?
非常感谢任何帮助!
如果不显式处理数据丢失,您不能将 double
值分配给 int
变量。一种方法是明确地使用缩小转换为 int
,假设人口不能增加一部分人:
p0 = p0 + (int)(p0 * percent) + aug;
// Here --^
我遇到了一个问题,要计算人口 (p0) 增加或减少到一定数量 (p) 所需的年数 (nbYear),如果人口 increas/decrease 按百分比(百分比)和每年增加的人数(8 月)计算。
public static int nbYear(int p0, double percent, int aug, int p) {
int nbYear = 0;
while(p0 < p){
p0 = p0 + (p0 * percent) + aug;
nbYear = nbYear + 1;
}
return nbYear;
}
}
这段代码没问题,但我得到了从 double 到 int 的可能有损转换错误。我的问题是如何在不丢失任何信息的情况下计算具有混合数据类型(本例为 int 和 double)的数学方程式?
非常感谢任何帮助!
如果不显式处理数据丢失,您不能将 double
值分配给 int
变量。一种方法是明确地使用缩小转换为 int
,假设人口不能增加一部分人:
p0 = p0 + (int)(p0 * percent) + aug;
// Here --^