A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱皓 中级黑马   /  2012-3-6 16:09  /  2353 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

float a=87.4f;
string str=a+"";

7 个回复

倒序浏览
定义一个浮点数a=87.4,后面就是在控制台输出  将a+""赋值给str    但是我也有一点疑问【a+“”】 后面这两个符号代表什么如果说是连接的话为什么里面什么都没有,建议自己在编译一下看一下输出的是什么 。我还没下。,。,。,。,嘿嘿 :lol
回复 使用道具 举报
float a=87.4f;定义哥浮点型变量
string str=a+""; 定义一个字符串变量,a+" "它会自动转变成字符串。
回复 使用道具 举报
这个是先定义了一个浮点型的变量a, 然后又定义了一个字符串变量 str
由于字符串的等级比浮点型的高(字符串的开辟的内存空间比浮点数的大),所以当虚拟机运算 a+""时,a 会自动提升为字符串.
扩展一下: byte-->short-->int-->long     
              float-->double
              从左到又,等级依次升高,可以自动转换,但是从右到左需要强制转换,但是会损失精度




回复 使用道具 举报
本帖最后由 泮和顺 于 2012-3-7 11:17 编辑

想错了竟然 只是把他直接当做字符串
回复 使用道具 举报
float a=87.4f;
string str=a+"";
这是自动类型转换的问题。a 是 float的,但如果它和String作用的话+就变成了连字符,所以最后输出的就是String的了。
回复 使用道具 举报
float a=87.4f;  //   如果定义单精度87.4+f     不加f默认是double


string str=a+"";   //单精度a +“  ”  就是把a转变为字符串形式        

希望对哥们有帮助
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马