不同数据类型转换
自动类型转换:
这里分为两种情况:
当不同类型的变量同时运算时就会发生数据类型的自动转换。
- char 和 int 两个类型的变量相加时,就会把 char 先转换成 int 再进行加法运算
- int 和 double 类型进行运算时,就会把 int 转换成 double 再进行运算。
- 条件判断中,非布尔型自动转换为布尔类型。
用一个参数作为另一个不同类型参数的赋值时出现的自动转换。
- 当定义参数是char,输入是int时,自动将int通过ASCII转换为字符
- 当定义参数是int,输入是浮点型,自动转换为浮点型。
基本数据类型之间转换:整型,浮点型,字符型,布尔型之间转换
- c语言风格的转换:(类型说明符)(变量或表达式)
// c语言风格的转换
int a = 10;
int b = 3;
double result = (double)a / (double)b;
- c++中static_cast关键字:static_cast <类型说明符> (变量或表达式)
int a = 10;
int b = 3;
double result = static_cast<double>(a) / static_cast<double>(b);
C++中新增了四个关键字static_cast、const_cast、reinterpret_cast和dynamic_cast。这四个关键字都是用于强制类型转换的。其余关键字这里不做介绍。
字符串和数字之间转换:
字符串==》数字:需包含string头文件
- 整型 = stoi(纯数字的字符串),string to int
- 浮点型 = stod(纯数字的字符串),string to double
数字==》字符串:需包含string头文件
- 字符串 = to_string(任意类型数字),c++11及以上