java,double型转换成float型输出 - 爱问答

(爱问答)

java,double型转换成float型输出

public class aaa {

    public static void main ( String args[] ) {

        float f = 123456.6789f ;

        double d = 123456789.123456789 ;

        f = (float) d ;

        System.out.println(f) ;

    }

}

这是代码,

为什么最后的输出结果是:1.23456792E8?     2E8里面的2是怎么来的? 是什么意思?

在计算机中,无论是单精度或双精度浮点,它们都是用二进制近似表示的

因为是近似表示,所以它有精度误差的,特别是float的,它只有6~7位有效数,也就是第8位上的就不精确了(若要完全理解,你可以去研究下IEEE754标准),结果中的这个2就是因为误差生成的。而E8是科学计数法,表示10的8次方。

相关标签:java

下一篇:易报修系统数据库怎么建表呢?

上一篇:字符13缺少“=”代码800A03F3这到底是怎么回事啊求大神帮忙

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?