我想将我的值从字符串转换为double:
String mystring = "0.0100";
Double d = Double.parseDouble(mystring);
此字符串来自我的edittext。
问题我的输入字符串 0.0100 但是当我将其转换为double时,它只给我 0.01 。
如何从双倍中获取原始字符串?
我需要按照示例的所有零。
答案 0 :(得分:1)
简单的答案是“你不能使用Double”。
"double"
值以二进制形式存储。跟踪十进制零的想法,如106.4000,在“双”值中没有意义。
您的问题听起来像是BigDecimal
public static void main(String[] args) {
String mystring = "0.0100";
Double d = Double.parseDouble(mystring);
System.out.println("Double : "+d);
BigDecimal bigDecimal = new BigDecimal(mystring);
System.out.println("BigDecimal : "+bigDecimal);
}
<强>输出强>
Double : 0.01
BigDecimal : 0.0100
答案 1 :(得分:0)
使用以下代码,它可能会对您有所帮助。
.csv
答案 2 :(得分:0)
double存储浮点值。四个小数位的概念和右边的0填充是显示问题(即,与值分开)。因此,请以某种方式获取您的价值并进行格式化,例如
System.out.printf("%.4f, d");
答案 3 :(得分:0)
使用BigDecimal
String mystring = "0.0100";
BigDecimal b = BigDecimal(mystring);
System.out.println("Value b: "+b);//"0.0100"