① android开发中,我将数据类型强制转换后程序就崩溃了, Editable m = ed1.getText(); 能够取出数据;
从parse就可以看出不为强制类型转换!
强转,例:long l = 10L; int a = (int)l;
Integer.parseInt(String str);该方法是用于把:字符串-(解析)-》数字;如果在解析的过程中出现异常就会抛出:NumberFormatException。例:Integer.parseInt(“a”);因为“a”并不是一个数字,所以解析出错。
所在,以你以上的方法中,你要保证ed1.getText().toString();得到的是一个只包含数字的字符串。
希望对你有帮助!^_^
② Android 中如何将List<String>类型转换为String【】类型
请直接调用这个函数: static String[] convert(List<String[]> from) {
ArrayList<String> list = new ArrayList<String>();
for (String[] strings : from) {
Collections.addAll(list, strings);
}
return list.toArray(new String[list.size()]);
}
【以下是如何调用这个函数的例子】public static void main(String[] args) {
List<String[]> list = new ArrayList<String[]>();
list.add(new String[] { "one", "two" });
list.add(new String[] { "three", "four", "five" });
list.add(new String[] { "six", "seven" });
String[] converted = convert(list);
System.out.print(converted.toString());
}
③ 安卓网络请求拿到的数据明明是1 为啥是double型
对double数据类型进行四舍五入运算,可以利用double转为整型时强制取整来做到。 1 将double类型数据,强制转换为int类型,会强制截取整数部分。 比如double a = 1.23; (int)a的值就是1。 2 由于是强制取整,所以即使是1.9转为int后,同样是1,这与四舍五入的要求不符。所以可以转换一下算法,做(int)(a+0.5)就可以实现四舍五入到整数的效果了。 3 要实现四舍五入到某一位,可以先乘一个值,将该位移动到个位,取整后,再除上这个值,将其移动回去。 比如将double a = 1.2345四舍五入保留2位小数,可以写作 (int)(a*100+0.5)/100.0。
④ 在java中怎么把double类型转成int类型
在android开发过程中我们常常遇到数据类型的转换,其中double转int类型是最常见兄早扮的
方法一:强制转换
int i ;
double db;
i = (int) db;
这种方法会丢失小数点后面的值
int i ;
double db;
i = (int)Math.pow(db2, n);
这种方法的好处是不会丢失小数点后面的值,不过当double值过大时,即大于int类型值得范围时还是会睁仿改变原来的值;
最好的方法是将double类型转换为String类型羡灶,由String转换为int类型
public int stringToInt(String string){ int j = 0;
String str = string.substring(0, string.indexOf(".")) + string.substring(string.indexOf(".") + 1);
int intgeo = Integer.parseInt(str);
return intgeo; }