“100.0” --> 100
大家觉得没问题。
但是
“100.6” --> 100 还是 101呢?
电脑并不知道,因此下面代码会报错
/**
* String 类型的 100.0 不能直接被转换成python
*/
public class Demo01 {
public static void main(String[] args) {
String str1 = "100.3";
// 自动拆箱
int a = Integer.valueOf(str1);
System.out.println(a); // 报错
}
}
同样以便捷著称的python也不能替你做决定
正确的写法(java)
/**
* String 类型的 100.0 不能直接被转换成python
*/
public class Demo01 {
public static void main(String[] args) {
String str1 = "100.6";
// 正确转换() 转换的时候会发生强制转换
int b = Double.valueOf(str1).intValue();
System.out.println(b); // 100
}
}
正确写法(python)
int(float('100.6')) // 100
总结
大家在平常做数据类型转换的时候需要注意这个问题