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/