数字转换字符串

来源:百度知道 编辑:UC知道 时间:2024/05/09 18:46:46
Num=2;
A="1"+Num; //A="12"

这个表达示怎么理解?
1.是1的字符串+2,A=12的字符串?还是等于1,2的字符串?
2.如果等于12的字符串,数字2又如何转换成字符串进行相加?
3.如何得出结果为12的字符串?
javascipt 如果是连接符就好理解了,可它是加法,"1"+2 怎么就赋值为 "12" ?
如果照这样理解,
Num=3
A="1"+Num; //A="13"
这个表达式也成立咯!

以下是对于你问题补充的回答:
你的问题是javascript的隐式类型转换的问题,javascript的隐式类型转换关于“+”的规则是这样的:“二元加法运算(+):如果两个操作数中有一个是String类型,将把两个操作数转换为String类型再相加。
如果两个操作数中没有字符串类型,那么将把两个操作数转换为数值类型再做运算。”
你可以试试
Num=2;
A=Num+"1";
结果A的值是“21”

如果是JAVA里,任何一种数据类型(不管是简单数据类型还是自己定义的类),都是继承自Object这个父类,Object这个类有一个toString()方法,就是返回这个对象的字符串表示。只要用到“+”这个操作,而且两边不全是数,就会自动调用加号两边的两个对象的toString()方法,把它们都转换成字符串,再连接到一起。
C/C++里也应该差不多这个原理吧

后一种情况也成立。

什么语言?