JavaSE-小数四舍五入的小思路

JavaSE-关于小数四舍五入的一个小思路

对于一个小数保留俩位并需要考虑四舍五入,本人有以下思路


```java
public class Test1 {
    // psvm
    public static void main(String[] args) {
        // 将一个小数保留两位并四舍五入(简单的小思路)
        double num=3.14159265354;
        double a = ((int)(num*100+0.5)/100.0);
        //sout
        System.out.println(a); // 这是精简后的步骤

        //以下是详细解法
        double num2 = 13.145220;
        double b = num2 * 100 + 0.5;  // 将小数点向右移动2位,并且将小数点后一位的数加上5,逢10就进一位,以满足四舍五入(关键)
        int c = (int) b; // 强制转换double为int,去除小数点后的位数
        double d = c / 100.0;// 必须除以100.0,否者视为两个int相除得到的值依旧是int,然后再转换为了double,否则如e
        double e = c / 100;  // e之所以等于13.0,是由13这个整型强制转换成double得来的
        System.out.println(d); // 正确结果 13.14
        System.out.println(e); // 错误结果 13.0
    }
}



 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值