假设我有一个值 12345678 和一个数字说 x=2,我希望最终输出为 123456.78,如果 x 的值为 4,则最终输出为 1234.5678。
请告诉我如何才能做到这一点?
鉴于您正在处理移动小数点,我可能会使用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
BigInteger d = new BigInteger("12345");
BigDecimal one = new BigDecimal(d, 3);//12.345
BigDecimal two = new BigDecimal(d, 2);//123.45
试试这个:
String data = "12345678";
StringBuilder builder = new StringBuilder(data);
int x = 4;
builder.insert(builder.length() - x, ".");
System.out.println(builder);
将该值除以 10 的 x 次方。