简单的问题,但我找不到一个简单的解决方案。
有e.x 2.52549856E8
个浮点数。
我想要的只是让它25.2549856E8
,就是这样,其他一切都可以留下来。
我寻求解决方案,我找到的只是一堆字符串示例。
我得到纯粹的浮点数。我应该先将其转换为String吗?有更简单的方法吗?
答案 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);
number.substring(0, index)
删除了第一个数字number.substring(index + 1, index + 2)
删除第二位数字'.'
插入新点number.substring(index + 2)
附加其余的数字使用正则表达式可以完成同样的事情:
String number = String.valueOf(2.52549856E8f);
String formatted = number.replaceAll("^(\\d)\\.(\\d)(\\d+E\\d+)$", "$1$2.$3");