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

时间:2013-03-25 06:55:46

标签: java formatter

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

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

4 个答案:

答案 0 :(得分:10)

鉴于您正在处理移动十进制点,我可能会使用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

答案 1 :(得分:3)

BigInteger d = new BigInteger("12345");
BigDecimal one = new BigDecimal(d, 3);//12.345
BigDecimal two = new BigDecimal(d, 2);//123.45

答案 2 :(得分:2)

试试这个:

String data = "12345678";
    StringBuilder builder = new StringBuilder(data);
    int x = 4;
    builder.insert(builder.length() - x, ".");

    System.out.println(builder);

答案 3 :(得分:1)

将值除以10加到功率x。