我從服務器中獲得Double
的「price」值,我需要將它放在我的應用程序的TextView中。問題是:當價格= 500時,我得到500.0,因爲它是Double
。我希望它看起來像500.55或500.50或500 - 如何以正確的方式格式化這些數字? 謝謝。android-格式化Double並將它放在沒有逗號的TextView中(如果需要的話)
回答
可以使用rexgex
做格式化
1)創建一個樂趣ction識別下列條件
如果精度值只包含零,然後截斷這些
如果小數點後任何非零值,則返回原始值
public String formatValue(double d){ String dStr = String.valueOf(d); String value = dStr.matches("\\d+\\.\\d*[1-9]\\d*") ? dStr : dStr.substring(0,dStr.indexOf(".")); return value; }
\\d+\\.\\d*[1-9]\\d*
:匹配一個或多個數字然後輸入.
\\d*[1-9]\\d*
:匹配一個非零值
測試用例
yourTextView.setText(formatValue(500.00000000)); // 500
yourTextView.setText(formatValue(500.0001)); // 500.0001
yourTextView.setText(formatValue(500)); // 500
yourTextView.setText(formatValue(500.1111)); // 500.1111
使用String#format方法。
讀到它在這裏:https://www.dotnetperls.com/format-java 或在JavaDoc
您需要使用方法的intValue()這樣明確的將int值:
雙d = 5.25; Integer i = d.intValue();
或 double d = 5.25; int i =(int)d;
請添加一個有價值的鏈接,使其成爲更好的答案。 –
@YagamiLight當然。 http://javarevisited.blogspot.com/2017/01/how-to-convert-double-to-int-in-java.html http://www.studytonight.com/java/type-casting- in-java – ZaidBinAsif
double price = 500.0;
DecimalFormat format = new DecimalFormat("0.###");
System.out.println(format.format(price));
編輯
好,比嘗試不同的東西:
public static String formatPrice (double price){
if (price == (long) price)
return String.format("%d", (long) price);
else
return String.format("%s", price);
}
將無法使用值'500.01'將返回'500' –
是的,我需要刪除逗號,前提是零後出現。但如果價格= 12.50我需要顯示12.50。 – Den
@Den嘗試第二個解決方案 – Pantsoffski
- 1. 在逗號後加上逗號,如果需要在JS中
- 2. 格式沒有逗號
- 3. 格式化逗號在VS2010
- 4. 如何在java中將電話號碼格式化爲Android
- 5. 的Unix返回的電話號碼,需要格式化
- 6. Android TextView格式化
- 7. Android - 格式化TextView
- 8. 使用逗號格式化整數並用逗號顯示值
- 9. 格式化字符串用逗號分隔並格式化
- 10. 如何格式化EditText的數值在Android上使用逗號(或根本!?)在Android中使用逗號
- 11. 格式化用逗號
- 12. 蟒蛇 - 正則表達式 - 需要字符串,如果在它裏面沒有逗號和第二空間
- 13. 如何在android中將指數值格式化爲double?
- 14. 格式化數字在Python中的plt.colorbar()上有一個逗號
- 15. 如何將XAML中的double值格式化爲德文格式?
- 16. 如何在C#中將double格式化爲這種格式?
- 17. 如何將jQuery放在父窗口中,如果它沒有它?
- 18. 從谷歌顯示格式化的電話號碼將api放置在Android的提示對話框中?
- 19. 帶逗號的jQuery模板格式化
- 20. 的String.Format沒有格式化的電話號碼
- 21. 小數沒有小數和逗號格式化值
- 22. 如何將「格式化的double(String)」轉換爲double?
- 23. 格式化價格爲逗號分隔
- 24. android:我如何將數字格式化爲帶括號的電話號碼
- 25. 如何格式化JsonString並將格式化的字符串放入數組中?
- 26. 如何在沒有逗號
- 27. 將數字格式化爲每1000個因子有逗號
- 28. 在MySQL中格式化電話號碼
- 29. 在c中格式化電話號碼#
- 30. 需要在PHP Formmail腳本中重新格式化電話號碼條目
分割字符串對於'.'然後remove' [1]'位置 –