Java 浮动格式
Java Floats formatting
有e.x 2.52549856E8
个浮点数。
我要的就是简单的做出来25.2549856E8
,仅此而已,其他的都可以留下。
我寻求解决方案,但我发现的只是一堆字符串示例。
我得到了纯浮点数。我应该先把它转换成字符串吗?有更简单的方法吗?
如果你只想将点向右移动一位,你可以使用下面的代码片段,它使用 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+)$", ".");
有e.x 2.52549856E8
个浮点数。
我要的就是简单的做出来25.2549856E8
,仅此而已,其他的都可以留下。
我寻求解决方案,但我发现的只是一堆字符串示例。
我得到了纯浮点数。我应该先把它转换成字符串吗?有更简单的方法吗?
如果你只想将点向右移动一位,你可以使用下面的代码片段,它使用 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+)$", ".");