采用Convert类来实现转换,该类基本支持所以类型之间的转换
string str=”100〃;
int i = Convert.ToInt(str);
注意:str除掉引号的类型必须和Convert.*的类型一致。如果将100改成100.78,即变成float类型,运行时将会报错”输入字符串的格式不正确.*
为什么100改为100.78就不行了?
Convert的这个转换不单单是类型转换,主要是内容转换。 因为这种转换不是强制转换,你要考虑它的精度问题。
另外,你发现 Convert.ToInt32 有很多重载版本,例如 Convert.ToInt32(double value);,当我们用这个版本来把一个 double 转换成 int 时,ToInt32 会检查被转换的数值是否能够用 int 表示,即是否会发生“越界”,如果是就会抛出 OverflowException,否则就会为你转换,但使用 (int) 进行强制转换,如果被转换的数值大于 Int32.MaxValue,那么你将得到一个错误的结果
必须是整数才能转换,100.78可以用Convert.ToDouble/Single转换为浮点,再强制转换为int
string str="100.78";
int i = (int)Convert.ToSingle(str);
强类型与弱类型语言
像C++,C,Java,C#这些主流的编程语言都是强类型语言.而一些脚本语言则是弱类型的,比如vbscript , javascript.
1.强类型语言简单的理解就是当定义了一个变量之后就会指定一个固定的类型,并对应一个固定的内存块大小.比如有int , double ,long这一个个的类型.并且一旦一个变量被指定为某个类型后就不能被当成其他类型用.除非做转换
在C+......
答案就在这里:C++与C#对比:强制类型转换
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。