java - 仅显示 float 的小数

标签 java floating-point precision

我需要打印一个 float ,仅显示该 float 的小数。例如:

1.23456 --> 23456
12.3456 --> 3456
123.456 --> 456

我找到了以下解决方案:

float floatValue = 1.23455f;
String stringValue = Float.toString(floatValue);
int pointIndex = stringValue.indexOf(".");
String decimals = stringValue.substring(pointIndex + 1, stringValue.length() - 1);

但我认为这有点脏,我想知道是否有其他标准方法,使用 String.format 或类似的方法。我在文档中没有找到任何内容。提前致谢!

最佳答案

float floatValue = 1.23455f;
String stringValue = Float.toString(floatValue).split("\\.")[1];

应该适合你

关于java - 仅显示 float 的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23828530/

相关文章:

java - 如果在 main() 中启动一个新线程,那么调用 wait() 不会阻塞主线程吗?

c# - 转换 float -> double -> float

types - 为什么 IEEE754 单精度 float 只有 7 位精度?

algorithm - 数值不稳定?

c++ - 以 [0.5, 0.5, 0.5] 为中心的盒子大小为 1 的模拟是否有缺陷?

java - 是否可以使用 $x 从 Matcher 获取组?

java - Aparapi GPU 执行速度比 CPU 慢

c# - 格式字符串值精度不起作用

java - 为什么我的 Java/Spring/Tomcat 堆栈将非英语字符翻译成两个单独的字符?

c - 添加浮点值不正确