[学习资料] 显式转换

[复制链接]
1305|5
 楼主| t60yz 发表于 2025-3-24 11:50 | 显示全部楼层 |阅读模式
Explicit Conversion,需要强制转换
当数据类型不兼容或转换可能导致精度丢失时,必须使用 强制转换。


C/C++
cpp

double x = 5.75;
int y = (int)x;  // 强制转换,丢失小数部分
printf("%d\n", y);  // 输出 5
double → int 会截断小数部分,所以必须使用 显式转换 (int)x。

Java

double x = 9.8;
int y = (int)x;  // 需要强制转换,截断小数部分
System.out.println(y);  // 输出 9



Python

x = 9.8
y = int(x)  # 强制转换,丢失小数部分
print(y)  # 输出 9

21mengnan 发表于 2025-3-24 16:26 | 显示全部楼层
不同语言都有自己应对这类问题的方法。
xuanhuanzi 发表于 2025-3-25 11:15 | 显示全部楼层
单片机开发可以用Python吗
xinxianshi 发表于 2025-3-27 12:05 | 显示全部楼层
这不是数据类型转换吗,搞不好的可以用sprintf格式化到字符串
dongnanxibei 发表于 2025-3-30 20:32 | 显示全部楼层
sprintf可以将所有的变量转换成文本存储在字符串内,这样可以统一的将字符串显示到显示器。
玫瑰凋零日记 发表于 2025-8-29 13:43 | 显示全部楼层
显式转换是编程中手动指定的类型转换方式,需程序员明确式写出转换操作。如 C++ 中 (int) 3.14 将浮点数转为整数,或 static_cast<int>(x)。用于明确类型转换意图,避免隐式转换可能的歧义,尤其在不同类型数据交互时,确保转换按预期,增强代码可读性,但需注意可能的数据丢失或精度损失
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

1191

帖子

0

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