不同数据类型转换

自动类型转换:

这里分为两种情况:

当不同类型的变量同时运算时就会发生数据类型的自动转换。

  • 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及以上
posted @ 2023-05-17 17:40  修凡  阅读(34)  评论(0编辑  收藏  举报