[英]Java Remove Trailing 0s
我想知道如何從我的 java 程序中的整數中刪除尾隨 0 例如:100.0 -> 100 但是,對於像 1285.71 這樣的數字保持不變。
我只需要刪除整數中的尾隨 0,同時仍保留雙精度值。 我試過了:
double s = x / y;
String pattern = "0.#";
DecimalFormat decimalFormat = new DecimalFormat(pattern);
System.out.println(decimalFormat.format(Double.valueOf(s)) );
但是,它不起作用,我仍然在整數(100.0)之后得到煩人的 0 任何幫助或見解將不勝感激,為您的時間歡呼。
因為您使用DecimalFormat來表示您的數字,所以關於該模式有幾點需要記住:
0
- 如果提供,則打印一個數字,否則為 0#
- 如果提供,則打印一個數字,否則不打印.
– 指示放置小數點分隔符的位置,
– 指示放置分組分隔符的位置 integer 部件永遠不會被丟棄。 如果您提供這樣的模式: "0.#"
,那么它將 output 前綴和后綴中的第一個數字(如果它不為零)。 例如,12345.5 將 output 相同,但 12345.0 將 output 12345。
如果您在后綴后面的數字超過了您提供的后綴模式的數量,那么這些數字將被丟棄,例如您的模式是0.#"
並且您的輸入是 123.45 那么 output 將是 123.4。
然后您可以將您的模式更改為"0.##"
以使其適用於 100.0 和 1285.71
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.