Java中是否有簡單的方法來格式化小數,浮點數,雙精度等以僅打印數字的小數部分?我不需要整數部分,即使/特別是如果它是零! 我目前使用String.indexOf(「。」)方法結合String.substring()方法來取出小數點右邊的數字部分。有沒有更乾淨的方法來做到這一點?在DecimalFormat類或printf方法中找不到任何內容。兩者總是在小數點前返回一個零。Java - 僅打印小數部分的格式編號
7
A
回答
7
您可以通過將double轉換爲long來移除該值的整數部分。然後,您可以從原始值中減去這是僅剩的分數值:
double val = 3.5;
long intPartVal= (long) val;
double fracPartVal = val - intPartVal;
System.out.println(fracPartVal);
如果你想擺脫前導零的,你可以這樣做:由
System.out.println(("" + fracPartVal).substring(1));
5
鴻溝1並獲得餘數以獲得小數部分(使用「%」)。 (使用「#」符號來抑制前導零)使用DecimalFormat格式化結果:
double d1 = 67.22;
double d2 = d1%1;
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(d2));
此打印0.22
+0
是的,它做到了。 – Fred 2011-07-13 00:26:21
0
這將打印0.3
double x = 23.8;
int y =(int)x;
float z= (float) (x % y);
System.out.println(z);
+0
這會工作,但它不必要的複雜。簡單地取其餘的模1將做,或者減去整個整數部分。 – poolie 2015-11-12 18:42:49
相關問題
- 1. 在Java中打印的格式號碼
- 2. 給定格式的打印編號
- 3. 打印編號爲R中的縮小部分
- 4. 帶正確小數的Excel打印編號分隔符
- 5. 打印格式的Java
- 6. 僅Java String格式的小數點
- 7. Java:打印尾部空格
- 8. mvc3網格編號/小數格式?
- 9. 以java格式打印行
- 10. Java僅打印揮杆中的特定部分
- 11. Java數組打印星號
- 12. Java不打印小數
- 13. AWK僅打印數組中某個字段的編號。 [R
- 14. 打印號碼時的金額格式
- 15. 工程格式的打印號碼
- 16. 以pdf格式打印小字號的子字符串
- 17. 格式號,不顯示零的小數部分
- 18. 歐洲格式的帶兩位小數的格式編號
- 19. 帶小數點的打印號碼
- 20. 有條件的打印語句不打印其餘部分。 Java
- 21. C編程 - 如何使用循環打印帶有小數部分的數字?
- 22. java中的log4j格式化打印
- 23. 打印出方格式的Java
- 24. Java中的2D陣列打印格式
- 25. 部分的編號僅出現在第一部分中
- 26. 格式打印
- 27. 僅打印偶數
- 28. 正數的Java打印符號
- 29. Java:數組星號打印的值
- 30. ggplot:每小時打印格式x軸
你想顯示小數點? – 2011-04-07 16:18:24
是的,我想顯示小數點 – Fred 2011-04-07 16:27:59