java中的new BigDecimal(0)是什么意思
答案:4 悬赏:50 手机版
解决时间 2021-03-02 12:59
- 提问者网友:最美的风景
- 2021-03-02 00:25
java中的new BigDecimal(0)是什么意思
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-03-02 01:14
1.BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负scale 次幂。因此,BigDecimal表示的数值是(unscaledValue × 10-scale)。
2.借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。
2.借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。
全部回答
- 1楼网友:街头电车
- 2021-03-02 03:09
新建了一个BigDecimal对象,调用了他的构造方法追问他加一个0的参数是什么意思追答调用了他的一个构造方法,那个构造方法需要传参。0就是参数
- 2楼网友:思契十里
- 2021-03-02 02:10
引用无忧的小豆豆的回答:
首先确定的是这是利用构造函数在初始化bigdecimal,查看了一下API,接受的参数类型的挺多的,但是我认为这是在用整形的0初始化bigdecimal,即将0转换成一个比个decimalnew BigDecimal(0)有可能得到的是0.000000000000001之类的值,这是Java的bug。初始化0或者其他基础类型数字转换为BigDecimal最好用字符串。
比如初始化为0,用new BigDecimal("0")
首先确定的是这是利用构造函数在初始化bigdecimal,查看了一下API,接受的参数类型的挺多的,但是我认为这是在用整形的0初始化bigdecimal,即将0转换成一个比个decimalnew BigDecimal(0)有可能得到的是0.000000000000001之类的值,这是Java的bug。初始化0或者其他基础类型数字转换为BigDecimal最好用字符串。
比如初始化为0,用new BigDecimal("0")
- 3楼网友:迟山
- 2021-03-02 01:19
首先确定的是这是利用构造函数在初始化bigdecimal,查看了一下API,接受的参数类型的挺多的,但是我认为这是在用整形的0初始化bigdecimal,即将0转换成一个比个decimal
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯