可以用double类型初始化BigDecimal类。
可以啊,用BigDecimal的构造方法:newBigDecimal(doublex)
可以用double类型初始化BigDecimal类。
通过Math类将double转换成整数,如果是要转换类型可以通过强制类型转换实现,如下图:知识拓展:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大...
publicstaticvoidmain(String[]args){Testt=newTest();doubled=8;Strings=t.decimal2BinaryStr(d);System.out.println("十进制数"+d+"转成二进制数为:"+s);}/...
double类型直接进行运算会出现精度问题,可先转换为字符串之后再进行运算。importjava.math.BigDecimal;publicclassArith{//默认除法运算精度privatestaticfinalintDEF_DIV_SCALE=10;//这个类不能实例化priv...
解决办法:decimal是128位高精度浮点数,常用于金融运算,不会出现浮点数计算的误差。如果项目对执行效率要求高就使用double,如果项目对数字精确度要求高就使用decimal类型(java语言使用BigDecimal)。BigDecimal的构造函数入参为...
可以先用BigDecimal保存这个double,需要使用的时候再转为double.publicstaticvoidmain(String[]args){BigDecimalbigDecimal=newBigDecimal("123456789.123456789");Stringresult=bigDecimal.toString();...
用Bigdecimal去转换就可以了。
float的精度为32位,double是双精度也就是64位,高位强转为低位,就会造成精度丢失了,所以要特别注意不要讲高精度的数字强转为低精度数字。例如在java中,通常使用BigDecimal来解决精度丢失的问题。