java - Android 字符串转两位小数点

标签 java android string double decimal

我正在解析数据库中的字符串值,其值如下:

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 存储为 double ,则实际上有 0.999...7 而不是 1.00

关于java - Android 字符串转两位小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32295940/

相关文章:

java - 将一个数组的元素以相反顺序存储到另一个数组中

android-安装时包含一个数据库

android - 我的应用程序未列出用于平板电脑

java - 为什么 Integer.parseInt 方法不适用于分割字符串?

java - 在 Java SWT 浏览器中更改 URL(来自其他线程?)

java - 如何自动使用类的名称?

c - TicTacToe 打印获胜者

java - 将 HTML 插入到 HTMLDocument 的主体中

通过方法进行 Java 自动装箱

java - 插入期间数据库删除失败