如何在Java中的x位前添加小数点

Jaf*_*ffy 3 java formatter

让我假设我有一个值12345678和一个数字说x = 2,我希望最终输出为123456.78,如果x的值为4,则最终输出为1234.5678.

请告诉我如何才能实现这一目标?

Jon*_*eet 11

鉴于你正在处理移动小数点,我可能会使用BigDecimal:

long integral = 12345678L;
int x = 4; // Or 2, or whatever
BigDecimal unscaled = new BigDecimal(integral);
BigDecimal scaled = unscaled.scaleByPowerOfTen(-x);
System.out.println(scaled); // 1234.5678
Run Code Online (Sandbox Code Playgroud)


raj*_*esh 6

BigInteger d = new BigInteger("12345");
BigDecimal one = new BigDecimal(d, 3);//12.345
BigDecimal two = new BigDecimal(d, 2);//123.45
Run Code Online (Sandbox Code Playgroud)