簡體   English   中英

Android字符串為雙小數點

[英]Android String to Double Decimal Points

我正在從數據庫中解析一個String值,其值如下:

9.00、9.44、90.00、90.44、180.00、180.44

作為Double並將其存儲在列表適配器中,然后在對話框中進行充氣

這是我用來將其轉換為Double的代碼段。

DecimalFormat decimalFormat = new DecimalFormat("0.00");
double tmp = Double.parseDouble(decimalFormat.format(Double
                .parseDouble(string)));

但是,當它轉換為Double時,我只能得到一個小數點。 我哪里錯了?

這段代碼

String string = "9.44";    
DecimalFormat decimalFormat = new DecimalFormat("0.00");

double tmp = Double.parseDouble(decimalFormat.format(Double
                .parseDouble(string)))

將tmp的值與較短和較簡單的代碼完全相同

...    

double tmp = Double.parseDouble(string);

如果您需要精確的小數點位數並且值必須精確,則應使用BigDecimal而不是double。 如果將1.00存儲為兩倍,則實際上有0.999 ... 7而不是1.00

這樣嘗試

DecimalFormat decimalFormat = new DecimalFormat("#.00");
double tmp = Double.parseDouble(decimalFormat.format(string));

要么

DecimalFormat("##.##")

根據您的要求修改#

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM