Stringtest="123";intnumber=Integer.parseInt(test);String转化为Integer,可以如下所示。
也适用于int转化为Integer:
Stringtest="123";//Stringtest="abc";//会报错:NumberFormatException:ForinputstringIntegernumber=Integer.valueOf(test);注意:不管是使用Integer.parseInt(),还是使用Integer.valueOf()将字符串转换成数字,
如果是非数字的字符串,会报错:NumberFormatException:Forinputstring:""
另外,Integer类取值和int类型取值一致,取值范围是从-2147483648至2147483647(-231至231-1),包括-2147483648和2147483647。
如果超过了这个范围,也会报错。比如Integer.valueOf("2147483648"),超过了Integer范围。因此会报错:Forinputstring:"2147483648"
更安全的做法是,使用apache包的NumberUtils,如下:
注意:NumberUtils只处理整数,不能用来处理小数。
Stringstr="abc";//str不为数字时,设置默认值为0intnum=NumberUtils.toInt(str);//str不为数字时,设置默认值为其他值,比如1intdefaultNum=NumberUtils.toInt(str,1);String转BigDecimal:
Stringstr1="2.30";BigDecimalbd=newBigDecimal(str1);String转double:
doublevalue=NumberUtils.toDouble("4.23");Double转化为int:
Doubletest=newDouble("1.23");//Double初始化,最好用String保证精度intresult=test.intValue();其他类型转String:
//Objectobj="123";Stringtest=String.valueOf(obj);注意:当String.valueOf()的参数obj为null时,返回值是字符串"null"!!而不是null。
如果希望obj为null时,返回"",可以使用apache-commons-lang的包,如下所示:
Objectobject=null;Stringstr=ObjectUtils.toString(object);//object为null时,结果为""如果希望obj为null时,返回null,如下:
ObjectUtils.toString(object,nullStr),第二参数nullStr表示,当object为null时,方法返回的值。
//Objectobj=null;Objectobject="123";Stringstr=ObjectUtils.toString(object,null);//相当于Stringstr=(object==null)null:object.toString();Integer转double:
使用doubleValue()方法,或者(double)强制转换。
Integera=newInteger(5);intintvalue=a.intValue();doubledoublevalue=a.doubleValue();其他类型转Double:
Doublerate=Double.valueOf(obj);比较小数是否相等。
比较Double是否相等。比较BigDecimal是否相等。
如下所示:
doublevalue=1.23;if(BigDecimal.ZERO.compareTo(BigDecimal.valueOf(value))==0){//}比较Double类型的大小:
if(Double.valueOf(d1).compareTo(Double.valueOf(d2))<0){//...}比较double类型的大小:
除了用BigDemical的compare()方法,可以直接用Double.doubleToLongBits()的结果值用==,>,
学Java可以从事什么工作,职业发展无限可能!
软件培训班学费多少?让我们来一探究竟!
软件开发培训机构如何选择,去哪里学习更好?
人工智能培训机构哪个好?
学编程的学费一般是多少费用?
学Java六个月感觉啥也不会?不要担心,让我来帮助你!
0基础0学费15天面授
有基础直达就业
工作1~3年,加薪神器
工作3~5年,晋升架构
初级202925
初级203221
初级202629
初级203743
答:零基础学Java不要盲目,可以先尝试自己适不适合...查看回答