Android字符串到双重转换[重复]

Posted

技术标签:

【中文标题】Android字符串到双重转换[重复]【英文标题】:Android String to double conversion [duplicate] 【发布时间】:2018-06-04 23:00:06 【问题描述】:

当使用 Double.parseDouble(stringValue) 将 0.0001 从字符串转换为双精度时,返回 1.0E-4。如何获得 4 位小数的双精度值 0.0001。

【问题讨论】:

String.format("%.4f",secondNumber); 0.0001 是一个字符串,我希望输出为双倍。与 0.0001 完全相同,而不是字符串。 @AndEngine 但是1.0E-4 is exactly the same as 0.0001 就数据如何存储为双精度而言。当您在记录输出时转换回字符串时,您只会得到不同的表示形式。 【参考方案1】:

您可以使用 DecimalFormat 来定义应在昏迷后显示多少位置。

String stringValue= 0.0001;
DecimalFormat df = new DecimalFormat("##0.###");
df.format(stringValue);

1.0E-4 表示类似于 1.0 * 10^-4 与 0.0001 相同

更多关于 DecimalFormat 的信息请看这里https://developer.android.com/reference/java/text/DecimalFormat.html

【讨论】:

我希望输出到双变量 这是 Java 存储双精度值的标准方式,不知道有什么方法可以改变它。如何存储双精度并不重要,您可以在屏幕上打印时转换它。用户不会介意的。

以上是关于Android字符串到双重转换[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在android中将字节[]转换为十六进制字符串[重复]

没有科学记数法的显示双重[重复]

如何在Android中将时间戳字符串转换为日期[重复]

Android字符串双转换[重复]

在运行时将android颜色字符串转换为int [重复]

在运行时将android颜色字符串转换为int [重复]