java两个float相加不用强转_怎样将浮点数(float)相加 ? Float 好像没有办法?

俺新手,这个问题也比较纠结,于是在网上找了一份资料,看看能不能帮到你

解决方案1:

因为计算机本身是二进制的,你使用float和double这些节约了内存,对精度就没那么多要求了,要是你对精度有要求,java有java.math.BigDecimal浮点和java.math.BigInteger 整型两个类给你使用

解决方案2:

这是典型的精度丢失,当低级类型对高级类型运算的时候回产生精度丢失。

基本类型加宽转换的19种情况

byte → short, int, long, float, or double

short → int, long, float, or double

char → int, long, float, or double

int → long, float, or double

long → float or double

float → double

double X

这里,从byte、short/char、int、long、float、double排列,向后基本上就是加宽转换。排除:byte→char 、short→char、char→short。加宽转换不会损失原数据的总体信息[有时精度会损失,

如int/long→float、long→double时],不产生任何run-time异常。

解决方案3:

应为计算机存储小数以x/y的分数形式记录的,比如说5/6.你想想10进制的时候1/3是不是一个无线循环小数呢?同理,在二进制环境下,也会出现无限循环。所以说,这个数值是不精确的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值