2

BigDecimal で 2 つの数値を連結するにはどうすればよいですか? 私はこの例を持っています:

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

そして、分割やその他の操作を使用せずに連結d.ad.bて生成5.501して入力したい!5.511same length

BigDecimal で直接作成する指示はありますか?

4

3 に答える 3

7

BigDecimal文字列を解析できるという事実と、文字列を簡単に連結できるという事実を利用してください。

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()

于 2012-05-15T09:13:25.053 に答える
4
da = d.add(new BigDecimal("0.00" + a);
db = d.add(new BigDecimal("0.0" + b);
于 2012-05-15T09:13:17.767 に答える
1

次のいずれかを実行できます。

  • それらを文字列に変換し、それらを連結してから、新しい BigDecimal オブジェクトを返します
  • a と b を 1000 で割り、それらを d に足す
于 2012-05-15T09:14:15.220 に答える