我是靠谱客的博主 英勇中心,最近开发中收集的这篇文章主要介绍java中什么可以表示小数_数据类型表示java中的大小数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

你应该使用BigDecimal – 但是使用String构造函数,例如:

new BigDecimal("10364055.81");

如果将double传递给BigDecimal,Java必须首先创建双倍 – 并且由于双精度不能准确地表示大多数小数,它确实将值创建为10364055.81000000052154064178466796875,然后将其传递给BigDecimal构造函数.在这种情况下,BigDecimal无法知道您实际上是指圆形版本.

一般来说,使用BigDecimal的非String构造函数应该被视为一个警告,表明您没有获得该类的全部好处.

编辑 – 基于重新读取您想要做的事情,我的最初声明可能太强了.当您需要准确表示十进制值时,BigDecimal是一个不错的选择(货币处理是明显的选择,例如,您不希望5.99 *一百万为5990016.45.

但是,如果您不担心内部存储的数字与您输入的十进制文字的值略有不同,并且只想以相同的格式再次打印出来,那么就像其他人所说的那样,NumberFormat的一个实例(在这种情况下,新的DecimalFormat(“########.##”))可以很好地输出double,或者String.format可以做同样的事情.

至于性能 – BigDecimals自然会慢于使用原语.但通常情况下,除非您的绝大多数程序涉及数学操作,否则您不太可能注意到任何速度差异.这并不是说你应该全部使用BigDecimals;但是,如果你可以从他们的功能中获得真正的好处,而这些功能很难或不可能用普通的双打来实现,那么就不要扼杀他们理论上引入的微小的性能差异.

最后

以上就是英勇中心为你收集整理的java中什么可以表示小数_数据类型表示java中的大小数的全部内容,希望文章能够帮你解决java中什么可以表示小数_数据类型表示java中的大小数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部