请问在JAVA中我用BigDecimal来计算百分比,但是由于不能整除的原因,有些百分比相加不等于100%,该怎么办
展开全部
= =服了。服了。
你可知道,有写百分比是无限循环小数的。被省去了一部分。你觉得你再次相加的时候,那省去的部分会回来么?
那最后的结果当然就小于100%了。
那你就做个人性处理吧。
要看你小数点以后面的几位了。如果是0.000%的话。
那你就处理成,最后相加等于99.990%时候 大于这个数 就是100%呗。就是这样的思路,具体的 ,我也不知道怎么去弄了!看 你自己去调试咯!
你可知道,有写百分比是无限循环小数的。被省去了一部分。你觉得你再次相加的时候,那省去的部分会回来么?
那最后的结果当然就小于100%了。
那你就做个人性处理吧。
要看你小数点以后面的几位了。如果是0.000%的话。
那你就处理成,最后相加等于99.990%时候 大于这个数 就是100%呗。就是这样的思路,具体的 ,我也不知道怎么去弄了!看 你自己去调试咯!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你自己不知道把程序精简一下贴出来,而且又没分,谁帮你答?
给你写一个自己看看
import java.math.BigDecimal;
public class BIgDecimal {
public static void main(String[] args) {
double a = 2.0;
double b = 5.0;
double c = divide(a, b, 2);
System.out.println(addZero(c) + "%");
double d = divide(a, 1, 2);
System.out.println(addZero(d) + "%");
}
public static double divide(double v1, double v2, int scale) {
double c = div(v1, v2, scale + 2);
// System.out.println(c+"%");
return div(c * 100.0, 1, scale);
}
给你写一个自己看看
import java.math.BigDecimal;
public class BIgDecimal {
public static void main(String[] args) {
double a = 2.0;
double b = 5.0;
double c = divide(a, b, 2);
System.out.println(addZero(c) + "%");
double d = divide(a, 1, 2);
System.out.println(addZero(d) + "%");
}
public static double divide(double v1, double v2, int scale) {
double c = div(v1, v2, scale + 2);
// System.out.println(c+"%");
return div(c * 100.0, 1, scale);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询