java lang NumberFormatException
我正在尝试将字符串转换为双精度。但是我得到了数字格式的例外。给出异常的代码如下所示:java lang NumberFormatException,java,number-formatting,Java,Number Formatting,我正在尝试将字符串转换为双精度。但是我得到了数字格式的例外。给出异常的代码如下所示: double B = Double.parseDouble(s); fd485b154a0427fa75c0428cdafac71f 我将s值从服务器传递到应用程序。它是这样的: double B = Double.parseDouble(s); fd485b154a0427fa75c0428cdafac71f 有解决办法吗 double B = Double.parseDouble(s); 仅适用于
double B = Double.parseDouble(s);
fd485b154a0427fa75c0428cdafac71f
我将s值从服务器传递到应用程序。它是这样的:
double B = Double.parseDouble(s);
fd485b154a0427fa75c0428cdafac71f
有解决办法吗
double B = Double.parseDouble(s);
仅适用于编号,不适用于此类fd485b154a0427fa75c0428cdafac71f值示例
String s=“123”;
double B=double.parseDouble(s);
系统输出打印ln(B)代码>
仅适用于编号,不适用于此类fd485b154a0427fa75c0428cdafac71f值示例
String s=“123”;
double B=double.parseDouble(s);
系统输出打印ln(B)
1.Double.parseDouble()
仅对双精度数字有效,对非数字无效
2.fd485b154a0427fa75c0428cdafac71f
是没有数字…1.双解析双解析()
只对双解析双解析数字
,不对非数字
有效
2.fd485b154a0427fa75c0428cdafac71f
为无编号…用于Apache的Commons编解码器。用于Apache的Commons编解码器。您可以使用ByteBuffer类
您可以从字符串s.getBytes()中放入字节,然后调用getDouble()
希望有帮助。您可以使用ByteBuffer类
您可以从字符串s.getBytes()中放入字节,然后调用getDouble()
希望有帮助。试试这个:(我假设字符串是0-9&a-f的十六进制coz)
这使得:
8.4848548707027374E18
8484854870702737183
试试这个:(我假设字符串是十六进制的,因为其中有0-9和a-f)
这使得:
8.4848548707027374E18
8484854870702737183
Double.parseDouble(s)
如果s
是数字,那么它就可以了。很明显,您收到的是十六进制数字。对吗?
很简单:
double doubleAsLongReverse = new BigInteger(doubleAsString, 16).longValue();
Double.parseDouble(s)
如果s
是数字,那么它就可以了。很明显,您收到的是十六进制数字。对吗?
很简单:
double doubleAsLongReverse = new BigInteger(doubleAsString, 16).longValue();
我会用
double doubleVal = new BigInteger("fd485b154a0427fa75c0428cdafac71f", 16).doubleValue();
System.out.println(doubleVal);
印刷品
3.366703756933705E38
如果使用.longValue(),由于溢出,您将截断数字的开头。我将使用
double doubleVal = new BigInteger("fd485b154a0427fa75c0428cdafac71f", 16).doubleValue();
System.out.println(doubleVal);
印刷品
3.366703756933705E38
如果使用.longValue(),由于溢出,您将切掉数字的开头。fd485b154a0427fa75c0428cdafac71f
是哪个基数的数字?@JigarJoshi我猜十六进制。。。由于没有点或逗号,我猜这是一个整数(不是int
,但太高了)fd485b154a0427fa75c048cdafac71f
是哪个基数的数字?@JigarJoshi我猜十六进制。。。由于没有点或逗号,我猜它是一个整数(不是int
,但是太高了)