我想把数字放在第二百分之一的双倍值(小数点后的第二位)。
所以,例如,如果double值是48.4569999,我想使用任何Math或BigDecimal方法得到值 5 ,这是十进制之后的第100位。
我尝试过以下代码:
BigDecimal src = new BigDecimal("48.4569999");
BigDecimal a = src.remainder(BigDecimal.ONE);
System.out.println("a : " + a);
导致.456999但我不想使用任何字符串函数来获得第二个数字。请问有什么Math或Bigdecimal函数吗?感谢您的帮助。
答案 0 :(得分:5)
为什么不乘以100,将所需的值推到正确的位置,转换为int(删除任何< 1)然后执行%10,这将给你余数(这将是你想要的数字)
答案 1 :(得分:1)
您可能正在寻找movePointRight(int)
。
int a = src.movePointRight(2).remainder(BigDecimal.TEN).intValue();
打印
a:5