java float 存储方式_java-解析以字符串形式存储的float会抛出异...
在相關的源代碼中可以看到,該值將被修剪:
static FloatingDecimal.ASCIIToBinaryConverter readJavaFormatString(String arg) throws NumberFormatException {
boolean arg0 = false;
boolean arg1 = false;
try {
arg = arg.trim();
....
因此,在轉換為floatValue之前將刪除空格.
有關更多信息,請參見Float.class調用的FloatingDecimal源代碼.
Integer.parseInt()不會修剪字符串值:
public static int parseInt(String arg, int arg0) throws NumberFormatException {
if (arg == null) {
throw new NumberFormatException("null");
} else if (arg0 < 2) {
throw new NumberFormatException("radix " + arg0 + " less than Character.MIN_RADIX");
} else if (arg0 > 36) {
throw new NumberFormatException("radix " + arg0 + " greater than Character.MAX_RADIX");
} else {
int arg1 = 0;
boolean arg2 = false;
int arg3 = 0;
int arg4 = arg.length();
int arg5 = -2147483647;
if (arg4 > 0) {
char arg8 = arg.charAt(0);
if (arg8 < 48) {
if (arg8 == 45) {
arg2 = true;
arg5 = MIN_VALUE;
} else if (arg8 != 43) {
throw NumberFormatException.forInputString(arg);
}
if (arg4 == 1) {
throw NumberFormatException.forInputString(arg);
}
++arg3;
}
int arg7;
for (int arg6 = arg5 / arg0; arg3 < arg4; arg1 -= arg7) {
arg7 = Character.digit(arg.charAt(arg3++), arg0);
if (arg7 < 0) {
throw NumberFormatException.forInputString(arg);
}
if (arg1 < arg6) {
throw NumberFormatException.forInputString(arg);
}
arg1 *= arg0;
if (arg1 < arg5 + arg7) {
throw NumberFormatException.forInputString(arg);
}
}
return arg2 ? arg1 : -arg1;
} else {
throw NumberFormatException.forInputString(arg);
}
}
}
那就是為什么你在那里得到一個例外
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java float 存储方式_java-解析以字符串形式存储的float会抛出异...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编程加速服务器_FPGA加速驱动新时代的
- 下一篇: mybatis支持驼峰自动转换sql吗_