Sco*_*ott 1 java android integer numberformatexception numberpicker
我没有找到这个小数为0的问题的答案,所以......
//Value of row.get(2) = "27.0"
private NumberPicker numEntry;
numEntry.setMaxValue(40);
numEntry.setMinValue(15);
numEntry.setValue(Integer.valueOf(row.get(2)));
Run Code Online (Sandbox Code Playgroud)
错误信息:
05-27 14:30:51.576 10143-10143/com.exampleapp.app E/AndroidRuntime? FATAL EXCEPTION: main java.lang.NumberFormatException: Invalid int: "27.0"
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方法将字符串"27.0"转换为整数27,Math.floor,parseInt ......通过html从网络中提取ArrayList行,因此它以字符串fyi开始生命.
如何将NumberPicker设置为此初始值?
我认为你可以使用java.text.NumberFormat类:
Number num = NumberFormat.getInstance().parse(row.get(2));
int desiredInt = num.intValue();
Run Code Online (Sandbox Code Playgroud)
我会做的
(int)Double.parseDouble(row.get(2));
Run Code Online (Sandbox Code Playgroud)
所以它会
numEntry.setValue((int)Double.parseDouble(row.get(2)));
Run Code Online (Sandbox Code Playgroud)
它将处理double,整数等.NumberFormatException只有在它是无效数字时才会抛出.
你应该只担心double不适合int.但我不认为这是一个问题.