结果跟参考图不一样,还有老师请解释一下为什么会出现参考图那样不同的结果

结果跟参考图不一样,还有老师请解释一下为什么会出现参考图那样不同的结果

package com.imooc.change;


public class StringUse {


public static void main(String[] args) {

double a = 12.5;

//将基本类型转换为字符串

String str1 =Double.toString(a);       

System.out.println("a 转换为String型后+10的结果为: "+str1+10);

String str = "2.8";

// 将字符串转换为基本类型

Double b =Double.valueOf(str);

double str2=b;

        System.out.println("str 转换为double型后+10的结果为: "+str2+10);

}


}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

最后一句输出代码中str2+10的加号并不是进行加法运算了,而是进行了字符串的拼接,输出的结果是“2.810”。应该在定义double str2 = b+10;的时候,进行加10运算,最后输出的时候直接输出str2即可,结果即为“12.8”。

  • 音殿 #1
    为什么这样子就算是字符串拼接了 不是转成double类型了吗 为什么上面那句又可以相加?
    2017-06-24 17:36:59
  • 慕姐8987590 提问者 #2
    非常感谢!
    2017-06-25 10:25:11
Tender10 2017-06-24 17:50:29

上面的结果不也是字符串的拼接嘛,你的代码最终输出的结果如下:

a 转换为String型后+10的结果为: 12.510

str 转换为double型后+10的结果为: 2.810


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师