课程
/后端开发
/Java
/Java入门第三季
为什么写成String str1 = Float.toString(m);就不行呢?float也有一个包装类Float啊,m的值78.5应该也可以是float数据类型吧?
2019-07-20
源自:Java入门第三季 3-4
正在回答
前面的m用的是double双精度,使用float类型需要进行类型转换,不然会造成精度丢失,楼主这么写也可以,但前面需要先将m转化成float类型,因为编译不会自动帮你把double类型的m转换成float类型
这个toString前面的对应的包装类类型对应的是变量定义时的是什么包装类型,就那这道题来说,题目上定义m时用的double所以对应就要用Double.toString(m);如果题目是用float定义m的话,就可以用Float.toString(m);
Float str1=new Float("16").toString()
题目中是定义double m=78.5 是double类型
把这个改成float应该就是了
说的对啊,你上一句代码 是用Float定义的m吗,不定义一下怎么用Float的包装类呢
那你用float定义m啊!
Float m=new Float(78.5); String str1 = m.toString(); System.out.println(str1);
这样调用的话是可以的,调用方法时要用 对象 . 方法,而不是 类 . 方法(静态方法除外)
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答为什么要转行成string再输出?前面为什么不转
2 回答为什么转化成string对象
3 回答为什么要将StringBuilder转换成String?
3 回答还是没明白 为什么containsKey就不用重写,containsValue就要重写呢》
3 回答为什么substring中的string中s不用大写