java中返回类型为 double( )的方法体定义为 return 3.14*r*r,结果却得到了32.15360095825196
答案:4 悬赏:40 手机版
解决时间 2021-01-09 07:40
- 提问者网友:爱了却不能说
- 2021-01-09 01:58
java中返回类型为 double( )的方法体定义为 return 3.14*r*r,结果却得到了32.15360095825196
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-01-09 02:25
二进制的精度问题,你可以试下System.out.println(1-0.9);是多少……
全部回答
- 1楼网友:野慌
- 2021-01-09 05:47
doublet类型不适合精确的运算,float类型会在运行时自动转换为double类型……
不知道你知道BigDecimal这个东西么,你用这个试试看……
不知道你知道BigDecimal这个东西么,你用这个试试看……
- 2楼网友:雾月
- 2021-01-09 04:15
float和double相乘会自动转换为float计算的。
- 3楼网友:舍身薄凉客
- 2021-01-09 03:31
这设计数据类型转换
当低级数据类型与高级数据类型进行运算时,低级运算类型会自动转换为高级运算类型,这是为了防止精度丢失。追问那3.2f*3.2f*3.14(此时的3.14默认是double)得到的结果应该是32.1536000000啊,也不应该得到后面的精度啊
当低级数据类型与高级数据类型进行运算时,低级运算类型会自动转换为高级运算类型,这是为了防止精度丢失。追问那3.2f*3.2f*3.14(此时的3.14默认是double)得到的结果应该是32.1536000000啊,也不应该得到后面的精度啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯