为了账号安全,请及时绑定邮箱和手机立即绑定

double(78.5) h和float(68.3) 小数点都是一位,为什么相加就是146.8000030517578

public class HelloWorld{
    public static void main(String[] args) {
        double avg1=78.5;
        float age3=68.3f;
        char sex='男';
        boolean close=true;
        int rise=5;
        int avg2=(int)avg1+rise;
        double age4=avg1+age3;
        System.out.println("考试平均分:"+avg1);
        System.out.println("调整后的平均分:"+avg2);
        System.out.println("性别:"+sex);
        System.out.println(age3);
        System.out.println(age4);
        System.out.println("确认关闭吗:"+close);

    }
}

运行结果

考试平均分:78.5

调整后的平均分:83

性别:男

68.3

146.8000030517578

确认关闭吗:true


正在回答

2 回答

public class HelloWorld{

   public static void main(String[] args) {

        float avg1=78.5f;

        float age3=68.3f;

        char sex='男';

        boolean close=true;

        int rise=5;

        int avg2=(int)avg1+rise;

        float age4=avg1+age3;

        System.out.println("考试平均分:"+avg1);

        System.out.println("调整后的平均分:"+avg2);

        System.out.println("性别:"+sex);

        System.out.println(age3);

        System.out.println(age4);

        System.out.println("确认关闭吗:"+close);


    }

}

考试平均分:78.5
调整后的平均分:83
性别:男
68.3
146.8
确认关闭吗:true


0 回复 有任何疑惑可以回复我~
#1

weixin_慕婉清3482201

是不是需要用一致的 要是用一个的话
2022-05-14 回复 有任何疑惑可以回复我~
package com.imooc;

public class Demo02{
    public static void main(String[] args) {
        double avg1=78.5;
        int age3= (int) 68.3;
        char sex='男';
        boolean close=true;
        int rise=5;
        int avg2=(int)avg1+rise;
        double age4=avg1+age3;
        System.out.println("考试平均分:"+avg1);
        System.out.println("调整后的平均分:"+avg2);
        System.out.println("性别:"+sex);
        System.out.println(age3);
        System.out.println(age4);
        System.out.println("确认关闭吗:"+close);

    }
}
float的问题,在后面age4里应该是因为avg1+(float)age3才出错


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

double(78.5) h和float(68.3) 小数点都是一位,为什么相加就是146.8000030517578

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信