Java - 格式化数字以仅打印小数部分

标签 java numbers format decimal

Java 中是否有一种简单的方法来格式化小数、 float 、 double 等以仅打印数字的小数部分?我不需要整数部分,即使/特别是如果它为零! 我目前正在使用 String.indexOf(".") 方法结合 String.substring() 方法来提取小数点右侧的数字部分。有没有更清洁的方法来做到这一点?在 DecimalFormat 类或 printf 方法中找不到任何内容。两者总是在小数点前返回零。

最佳答案

您可以通过将 double 转换为 long 来删除值的整数部分。然后,您可以从原始值中减去它,只剩下分数值:

double val = 3.5;
long intPartVal= (long) val;
double fracPartVal = val - intPartVal;
System.out.println(fracPartVal);

如果你想去掉前导零,你可以这样做:

System.out.println(("" + fracPartVal).substring(1));

关于Java - 格式化数字以仅打印小数部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584189/

相关文章:

java - 每个字符线程与每个 map 线程设计

java - 如何缩短JSP中的数字?

c++ - 从专有格式到 C++ 类

delphi - Delphi XE8 中的数字分区算法生成器

python - 如何用python格式化url中的字符串?

c++ - 如何在 C++ 中使用一定数量的空格打印输出

java - 读取 csv 文件并在 Lambda (Java8) 中过滤特定列

Java - 为什么我不能部分键入变量?

javascript - 如何停止canvas中矩形的负画?

java - 需要分析一组包含0和正整数的 vector