十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在java中对一个数字取整方法很多
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了裕华免费建站欢迎大家使用!
向上取整Math.ceil();
举例:Math.ceil(11.4)=12; Math.ceil(-11.6)=-11;
2.向下取整Math.floor();
举例:Math.floor(11.7)=11;Math.floor(-11.2)=-12;
3.四舍五入Math.round();
顾名思义,四舍五入后取整,其算法为Math.round(x+0.5),即原来的数字加上0.5后再想下取整即可。
举例:Math.round(11.5)=12;
Math.round(-11.5)=-11;
如果你是用来交差的,可以再声明让我们贴代码,如果你是学习的,那么就探讨一下
1.四舍五入时可以用到int类型,它的得到的是整数,舍弃小数部分。
2.动脑筋想一些小办法,四舍五入可以自己写方法,不必用到API。
我们知道所谓四舍五入,就是满5进一,假设这个数为A,若无法进一,那么他减去0.5,必然小于该数。能进一,必然大于等于该数。那么可不可以用下面的方法?
private int fun(double d) {
int b = (int) d;
if(d - 0.5 = b){
b++;
return b;
}
else
return b;
}
使用时调用就行了,如system.out(类实例.fun(5.2));
抛砖引玉,欢迎赐教(这个方法只是基本实现,其他提问人慢慢摸索吧)
直接方法:math.round();取离数值最近值
按照你的要求为不确定保留几位小数的字符串做四舍五入的Java程序如下
import java.math.BigDecimal;
public class A {
public static void main(String[] args) {
String s="0.00000999999997";
//四舍五入,length是小数位数
int length=s.substring(s.indexOf(".")+1).length();
String s1=String.format("%."+(length-1)+"f",new BigDecimal(s));
//去尾部0
BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();
System.out.println(bd.toPlainString());
}
}