采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
问题1:double和float 区别只是空间优化吗? 精度要求高用double 要求不高用float
问题2:0.1+0.2这个问题如果想要得到正确的答案要怎么做?
float 是单精度浮点数,占 4 字节内存,使用 32 位表示一个浮点数;double 是双精度浮点数,占 8 字节内存,使用 64 位表示一个浮点数,精度较高,表示的数值范围更大。精度要求高,或更大的数值范围,用 double 类型;对精度和数值范围要求不高,或需要节省存储空间,用 float 类型。
0.1 + 0.2,可以将计算结果保留指定小数位数,比如保留两位小数,或者使用 BigDecimal 类进行精准计算,商业计算中通常使用 BigDecimal 类,可以参考以下示例
double d1 = 0.1; double d2 = 0.2; // 输出结果保留两位小数 System.out.println("d1 + d2 = " + String.format("%.2f", d1 + d2)); // 创建BigDecimal对象 BigDecimal big_d1 = new BigDecimal(String.valueOf(d1)); BigDecimal big_d2 = new BigDecimal(String.valueOf(d2)); // 加法运算 System.out.println("d1 + d2 = " + big_d1.add(big_d2));
登录后可查看更多问答,登录/注册
Java零基础入门与实战 多场景|多案例|全栈项目
455 7
446 5
337 5
1.8k 5
821 5
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号