为什么写成String str1 = Float.toString(m);就不行呢?float也有一个包装类Float啊,m的值78.5应该也可以是float数据类型吧?
前面的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);
这样调用的话是可以的,调用方法时要用 对象 . 方法,而不是 类 . 方法(静态方法除外)