java – 为什么浮点基元类型在划分并乘以10的某个倍数时会以科学计数法显示?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 为什么浮点基元类型在划分并乘以10的某个倍数时会以科学计数法显示?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1040字,纯文字阅读大概需要2分钟。
内容图文
![java – 为什么浮点基元类型在划分并乘以10的某个倍数时会以科学计数法显示?](/upload/InfoBanner/zyjiaocheng/811/c5ffce0151e745b383f278cbad330ab4.jpg)
在下面的示例中,可以看到Java在某些类型的操作中使用具有浮点的基本类型显示结果时具有特殊性,例如除以10的倍数:
int num1 = 5;
float num2 = num1 / 10000f;
System.out.println (num2);
可以是seen here,结果是5.0E-4而不是0.0005.
我知道这是一个科学的符号,这意味着5.0 * 10 ^ -4,这导致相同的值,但我不明白为什么Java在显示器中进行此更改.
有一个snippet的文档说:
(…) If m is less than 10-3 or greater than or equal to 107, then it is represented in so-called “computerized scientific notation.”
在引文中提到的案例中,是否有任何语言或官方动机要采用这种展示?或者只是为了可读性?
Note: this feature does not occur with
int
andlong
types, such as 07002
解决方法:
我没有这方面的文档参考,但一般来说,很难读取非常大或非常小的数字.原因在于,当您测试自己时,当数字变大时,很难计算零的数量.实际上,科学记数法的一个要点是避免写出无关紧要的零.
以5.0E-4为例,我们可以将其写为0.0005.但是5之前的零是微不足道的,只是通过告诉我们它相当小而对测量做出贡献.通过将此值写为5.0E-4,我们将零值归为E-4项,从而使我们能够专注于重要的5.0值.
至于Java选择其特定约定的原因,您可能不得不问Java的创建者.
内容总结
以上是互联网集市为您收集整理的java – 为什么浮点基元类型在划分并乘以10的某个倍数时会以科学计数法显示?全部内容,希望文章能够帮你解决java – 为什么浮点基元类型在划分并乘以10的某个倍数时会以科学计数法显示?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。