Java 扩展大十进制数的比例
我有一个大的十进制数,在某些情况下我想加0。当我更改BigDecimal的小数位数时,它只返回我的BigDecimal数的一个子位数 例如: BigDecimal c=新 大十进制(0.1721112427968000931395459629885351786909275632121988466426373478102735617940027951431710952381083564411002004385868111); 系统输出打印LN(c.setScale(120)) 它返回:Java 扩展大十进制数的比例,java,bigdecimal,Java,Bigdecimal,我有一个大的十进制数,在某些情况下我想加0。当我更改BigDecimal的小数位数时,它只返回我的BigDecimal数的一个子位数 例如: BigDecimal c=新 大十进制(0.1721112427968000931395459629885351786909275632121988466426373478102735617940027951431710952381083564411002004385868111); 系统输出打印LN(c.setScale(120)) 它返回: 0.172
0.172111242796800012477831387514015659689903259277343750000000000000000000000000000000000000000000000000000000000000000000
如何在我的BigDecimal数的最后返回一个与0相同的数?由于BigDecimal的参数被截断为双精度,您正在失去精度。如果将同一个参数作为字符串传递(在其周围加引号),则可以克服此问题