扩展BigDecimal数字

时间:2012-05-11 15:01:46

标签: java bigdecimal

我有这个程序:

int r = 4;//number add to d
int n = 3;//number of 0 add after 25
BigDecimal d = BigDecimal.valueOf(0.0025);

最后我想生成数字:0.0025004,这个数字由以下公式生成: 在n之后添加d位置,然后我的号码为:0.0025000,最后添加0.000004到我的号码4是r

我知道有几种方法可以做,但我想avoid loop并使用BigDecimal

的最大fonctinnality

1 个答案:

答案 0 :(得分:1)

试一试:

int r = 4;// number add to d
int n = 3;// number of 0 add after 25
BigDecimal d = BigDecimal.valueOf(0.0025);
double f  = r / Math.pow(10, d.scale() + n);
System.out.println(d.add(BigDecimal.valueOf(f)));

我希望这很有用