连接两个数字

时间:2012-05-15 09:10:27

标签: java bigdecimal

如何在BigDecimal中连接两个数字?我有这个例子:

BigDecimal d = BigDecimal.valueOf(5.5);
        int a = 1;
        int b = 11;

我想联合d.ad.b5.501中生成5.511same length,而不使用除法或其他操作!

是否有使用BigDecimal的指令直接制作?

3 个答案:

答案 0 :(得分:7)

使用BigDecimal可以解析stings的事实,并且字符串很容易连接。

BigDecimal d = BigDecimal.valueOf(5.5);
int a = 1;
int b = 11;

BigDecimal da = new BigDecimal(String.format("%s%02d", d, a));
BigDecimal db = new BigDecimal(String.format("%s%02d", d, b));

System.out.println(da);
System.out.println(db);

<强>输出:

5.501
5.511

%02d中的长度是硬编码的。您可以通过检查String.valueOf(a).length()来动态生成格式字符串。

答案 1 :(得分:4)

da = d.add(new BigDecimal("0.00" + a);
db = d.add(new BigDecimal("0.0" + b);

答案 2 :(得分:1)

你可以:

  • 将它们转换为字符串,连接它们然后返回一个新的BigDecimal对象
  • 将a和b除以1000并将它们添加到d