string怎么转成bigdecimal_BigDecimal的详细解析
前⾔
float和double设计的⽬的是为了科学计算和⼯程计算. 它提供在⼴域数值范围上较为精确的快速计算. 然⽽,它们并没有提供完全精确的结果,所以不能⽤于要求精确结果的场合. 但是商业计算要求精确的计算结果,这个时候就需要⽤到BigDecimal.
先来个栗⼦:
public static void main(String[] args){
System.out.println(0.2+0.1);
System.out.println(0.3-0.1);
System.out.println(0.2*0.1);
System.out.println(0.3/0.1)
}
运⾏结果是:
出现这个结果的原因在于我们计算机是⼆进制的,浮点数的计算通常会丢失⼀些精确度。如2.4的⼆进制表⽰并⾮就是精确的2.4. 反⽽最为接近的⼆进制表⽰是2.399999999999.
其实java的float只能⽤来进⾏科学计算或⼯程计算,在⼤多数的商业计算中,⼀般采⽤BigDecimal类进⾏精确计算.
BigDecimal构造⽅法
bigdecimal转换为integerpublic BigDecimal(double val) 将double表⽰形式转换为BigDecimal (不建议使⽤)
public BigDecimal(int val) 将int表⽰转换成BigDecimal
public BigD
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论