Java Floats格式化

时间:2018-06-11 06:49:07

标签: java formatting double comma

简单的问题,但我找不到一个简单的解决方案。

有e.x 2.52549856E8个浮点数。

我想要的只是让它25.2549856E8,就是这样,其他一切都可以留下来。

我寻求解决方案,我找到的只是一堆字符串示例。

我得到纯粹的浮点数。我应该先将其转换为String吗?有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您想将点向右移动一位,可以使用以下代码段,使用String#substring()String剪切为正确的部分,然后再次连接它们:

String number = String.valueOf(2.52549856E8f);
int index = number.indexOf('.');
String formatted = 
    number.substring(0, index) + 
    number.substring(index + 1, index + 2) + 
    '.' + 
    number.substring(index + 2);
  1. number.substring(0, index)删除了第一个数字
  2. number.substring(index + 1, index + 2)删除第二位数字
  3. '.'插入新点
  4. number.substring(index + 2)附加其余的数字
  5. 使用正则表达式可以完成同样的事情:

    String number = String.valueOf(2.52549856E8f);
    String formatted = number.replaceAll("^(\\d)\\.(\\d)(\\d+E\\d+)$", "$1$2.$3");