[学习资料] 类型不兼容时必须强制转换

[复制链接]
1686|10
 楼主| t60yz 发表于 2025-3-24 12:29 | 显示全部楼层 |阅读模式
有些类型之间不能直接转换,必须进行显式转换。例如:

字符与整数
C/C++
cpp

char c = 'A';
int num = (int)c;  // 强制转换,ASCII 值
printf("%d\n", num);  // 输出 65

Python

c = 'A'
num = ord(c)  # 使用 ord() 将字符转换为 ASCII
print(num)  # 输出 65
字符串与数字

C++
cpp

#include <iostream>
#include <string>
using namespace std;

string str = "123";
int num = stoi(str);  // stoi() 转换字符串 → int


Python
python

s = "123"
num = int(s)  # str → int
print(num + 1)  # 输出 124

21mengnan 发表于 2025-3-24 16:26 | 显示全部楼层
这个在浮点和整形上经常用到。
yiy 发表于 2025-3-26 21:11 | 显示全部楼层
C++的库比较丰富点。
作业粉碎机 发表于 2025-3-26 22:43 | 显示全部楼层
Python 中的 ord() 函数只能用于单个字符吗
穷得掉渣大侠 发表于 2025-3-26 22:57 | 显示全部楼层
在 Python 中,有没有一些内置函数可以将整数转换为字符
海市蜃楼神秘 发表于 2025-3-26 23:44 | 显示全部楼层
在 C/C++ 中,除了强制类型转换,还有没有其他更优雅的方式来处理字符和整数之间的转换呢
不想起床喵星人 发表于 2025-3-27 10:28 | 显示全部楼层
除了 stoi(),C++ 还有没有其他函数可以将字符串转换为整数
xiaoqi000 发表于 2025-3-27 17:02 | 显示全部楼层
在 Python 中,可以使用 ord() 函数将字符转换为它对应的 ASCII 数值,而 chr() 函数可以将整数转换为对应的字符。
懒癌晚期患者 发表于 2025-3-27 19:33 | 显示全部楼层
在实际开发中,类型转换出错是很常见的问题
灰色与青 发表于 2025-8-29 13:46 | 显示全部楼层
当不同数据类型运算或赋值出现不兼容时,需显式强制转换。如 int 转 float、指针类型转换等。强制转换能避免编译错误,但可能丢失精度或引发风险,需确保转换逻辑合理,如 (int) 3.14 将浮点转为整数,使用时需谨慎验证结果正确性。
小岛西岸来信 发表于 2025-9-16 15:52 | 显示全部楼层
当变量类型不兼容时,必须强制转换,否则编译会报错。如将指针赋给整数、将浮点数直接转为指针等,编译器无法自动处理。强制转换明确告诉编译器转换意图,但可能导致数据截断或意义改变,需确保转换合理,避免运行时错误,这是处理类型不兼容的必要操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

1191

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部