类型转换之显式转换

news/2024/7/22 12:37:41/文章来源:https://blog.csdn.net/Luo3255069063/article/details/139218568

显式转换——>手动处理,强制转换

括号强转

作用:一般情况下,将高精度的类型转换为低精度。
语法:变量类型 变量名 = (变量类型)变量;
注意:精度问题,范围问题。
括号强转,可能会出现范围问题,造成的异常。
附上代码:

//相同大类的整形
//有符号整形
sbyte sb = 1;
short s = 1;
int i = 1;
long l = 1;s = (short)i;
Console.WriteLine(s);i = (int)l;
sb = (sbyte)s;
sb = (sbyte)i;
sb = (sbyte)l;//无符号整形
byte b = 1;
uint ui = 1;
b = (byte)ui;//浮点之间
float f = 1.1f;
double d = 1.23456;f = (float)d;
Console.WriteLine(f);//无符号和有符号
uint ui2 = 1;
int i2 = 1;
//在强转时,一定要注意范围,不然得到的结果,可能有异常
ui2 = (uint)i2;
Console.WriteLine(ui2);i2 = (int)ui2;//浮点和整形,浮点数强转成整形时,会直接抛弃掉小数点后面的小数
i2 = (int)1.64f;
Console.WriteLine(i2);//char和数值类型
i2 = 'A';char c = (char)i2;
Console.WriteLine(c);//bool和string是不能够通过括号强转的//bool bo = false;
//int i3 = (bool)bo;//string str = "123";
//i3 = (int)str;

Parse法

作用:把字符串类型转换为对应的类型
语法:变量类型.Parse(“字符串”)
注意:字符串必须能够转换成对应类型,否则报错。
附上代码;

//有符号
//string str2 = "123";
int i4 = int.Parse("123");
Console.WriteLine(i4);
//我们填写字符串,必须是要能够转成对应类型的字符,如果不符合规则,会报错
//i4 = int.Parse("123.45");//err
//Console.WriteLine(i4);
//值的范围,必须是能够被变量存储的值,否则报错
//short s3 = short.Parse("40000");//err
//Console.WriteLine(s3);sbyte sb3 = sbyte.Parse("1");
Console.WriteLine(sb3);
//它们的意思是相同的
Console.WriteLine(sbyte.Parse("1"));
Console.WriteLine(long.Parse("123123"));//无符号
Console.WriteLine(byte.Parse("1"));
Console.WriteLine(ushort.Parse("1"));
Console.WriteLine(ulong.Parse("1"));
Console.WriteLine(uint.Parse("1"));//浮点数
float f3 = float.Parse("1.2345");
double d3 = double.Parse("1.2312");//特殊类型
bool b5 = bool.Parse("true");
Console.WriteLine(b5);char c2 = char.Parse("A");
Console.WriteLine(c2);

Convert法

作用:更准确的将各个类型之间进行相互转换。
语法:Convert.To目标类型(变量或常量)
注意:填写的变量或常量必须正确,否则出错。
附上代码:

//转字符串,如果是把字符串转成对应类型,那字符一定要合法合规。
int a = Convert.ToInt32("12");
Console.WriteLine(a);//精度更准确
//精度比括号强转好一点,会四舍五入
a = Convert.ToInt32(1.45845f);
Console.WriteLine(a);//特殊类型转换
//把bool类型也可以转换成数值类型,true对应1,false对应0
a = Convert.ToInt32(true);
Console.WriteLine(a);
Console.WriteLine(Convert.ToInt32(false));a = Convert.ToInt32('A');
Console.WriteLine(a);//每一个类型都存在对应的Convert中的方法
sbyte sb5 = Convert.ToSByte("1");
short s5 = Convert.ToInt16("1");
int i5 = Convert.ToInt32("1");
long l5 = Convert.ToInt64("1");byte b6 = Convert.ToByte("1");
ushort us5 = Convert.ToUInt16("1");
uint ui5 = Convert.ToUInt32("1");
ulong ul5 = Convert.ToUInt64("1");float f5 = Convert.ToSingle("13.2");
double d5 = Convert.ToDouble("13.2");
decimal de5 = Convert.ToDecimal("13.2");bool bo5 = Convert.ToBoolean("true");
char c5 = Convert.ToChar("A");string str5 = Convert.ToString(123123);

其他类型转string

作用:拼接打印
语法:变量.string();
附上代码:

string str6 = 1.ToString();
str6 = true.ToString();
str6 = 'A'.ToString();
str6 = 1.2f.ToString();int aa = 1;
str5 = aa.ToString();
bool bo6 = true;
str6 = bo6.ToString();//当我们进行字符串拼接时,就会自动调用tostring转成string
Console.WriteLine("123" + 1 + true);str6 = "123456" + true + 1.23f;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1052793.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#【进阶】排序进阶

排序进阶 文章目录 插入排序希尔排序归并排序快速排序堆排序 插入排序 #region 知识点一 插入排序的基本原理 // 8 7 1 5 4 2 6 3 9 // 两个区域 // 排序区 // 未排序区 // 用一个索引值做分水岭// 未排序区元素 // 与排序区元素比较 // 插入到合适位置 // 直到未排序区清空 #e…

Docker(三) 容器管理

1 容器管理概述 Docker 的容器管理可以通过 Docker CLI 命令行工具来完成。Docker 提供了丰富的命令,用于管理容器的创建、启动、停止、删除、暂停、恢复等操作。 以下是一些常用的 Docker 容器命令: 1、docker run:用于创建并启动一个容器。…

Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程

汇创慧玩 写在前面1. 查看系统架构相关指令2. ARM64交叉编译器环境搭建3. Qt编译arm64环境搭建4. 配置 Qt的本地aarch64交叉编译器5. 工程建立及编译验证 写在前面 苦辣酸甜时光八载,春夏秋冬志此一生 Qt简介: Qt(官方发音 [kju:t]&#xff…

Spring Boot集成六大常用中间件,附集成源码,亲测有效

目录 万字论文,从0到1,只需1小时获取途径1、Spring Boot如何集成Spring Data JPA?2、Spring Boot如何集成Spring Security?3、Spring Boot如何集成Redis?4、Spring Boot如何集成RabbitMQ?5、Spring Boot如何…

【C++】C++11(一)

C11是一次里程碑式的更新,我们一起来看一看~ 目录 列表初始化:{ }初始化:std::initializer_list: 声明:auto:decltype: STL的一些变化: 列表初始化: { }初始化&#xf…

云计算期末复习(2)

MapReduce 包含Google MapReduce基本构架、Hadoop MapReduce基本构架 作业(问答题) (1)预习论文The Google File System,总结和分析GFS主要特点。 GFS的主要特点包括: 1. 高可靠性和容错性:G…

政府鼓励社会力量建设气膜体育场馆—轻空间

2023年12月1日,国家体育安全总局发布的《关于政协第十四届全国委员会第一次会议第00374号(文体宣传类020号)提案答复的函》中指出,2016年和2020年国务院发布的文件中均涉及推动气膜场馆建设及完善装配式建筑相关政策。下一步&…

炸裂!AI五分钟模仿爆款IP故事,涨粉速度太绝了!

‍ ‍大家好,我是向阳。 今天我要分享一个利用AI技术模仿爆款账号的小技巧,帮助大家迅速增加粉丝。这个方法简单实用,尤其适用于副业和本地生活领域。接下来,我将为大家详细讲解操作步骤。让我们开始吧。 副业赚钱:模…

2024年03月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,共50分) 第1题 运行如下代码,若输入整数3,则最终输出的结果为?( ) def f(x):if x==1:s=1else:s

基于 IP 的 DDOS 攻击实验

介绍 基于IP的分布式拒绝服务(Distributed Denial of Service, DDoS)攻击是一种利用大量受控设备(通常是僵尸网络)向目标系统发送大量请求或数据包,以耗尽目标系统的资源,导致其无法正常提供服务的攻击方式…

[集群聊天服务器]----(十)Nginx的tcp负载均衡配置--附带截图

接着上文,我们剖析了服务端和客户端的代码,但是单台服务器的并发量是有限的,面对并发量的要求,我们就需要引入Nginx来实现并发量的要求,将用户请求分发到不同的服务器上分担压力,这就是负载均衡。 选择负…

【国信华源:以专业服务,协助水利厅抵御强暴雨】

5月18日-19日,广西出现入汛以来最强暴雨天气过程,钦州、防城港、北海、南宁等地出现特大暴雨,多地打破降雨量极值。国信华源技术团队积极行动驻守一线,为打好山洪灾害防御的提前战、主动战提供了技术支撑。 5月17日18时&#xff0…

在某云服务器上搭建公网kali linux2.0

前提: 可用的 CVM 实例 挂载一个系统盘之外的盘,安装完成后可卸载! 创建实例,安装centos7系统! 然后执行fdisk -l看磁盘的情况 在这里我将把镜像写入vdb这块数据盘 非 root 的情况下记得sudo执行以下命令 注意&…

重新安装 Windows 10/11 后如何恢复丢失的数据?

“嗨,我的 Windows 10/11 崩溃了,所以我不得不重新安装它。我使用 USB 可启动驱动器重新安装了操作系统。但是,重新安装后,C 盘上的所有先前文件都丢失了。有什么方法可以恢复丢失的文件吗?” - 孙雯 在大多数情况下&…

Android --- 交换两个布局

准备布局 exchange_out_layout exchange_in_layout <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"andr…

【讲解下Web前端三大主流的框架】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

使用Python类的构造函数和析构函数

1、问题背景 当使用Python类时&#xff0c;可以使用构造函数和析构函数来初始化和清理类实例。构造函数在创建类实例时自动调用&#xff0c;而析构函数在删除类实例时自动调用。 在上面的代码示例中&#xff0c;Person类具有一个构造函数__init__和一个析构函数__del__。构造…

git的使用之筛选文件上传到远程服务器仓库

.gitignore 让本地文件有选择上传到远程服务器仓库 下面是linux内核的.gitignore # # NOTE! Dont add files that are generated in specific # subdirectories here. Add them in the ".gitignore" file # in that subdirectory instead. # # NOTE! Please use gi…

MyBatis多数据源配置与使用,基于ThreadLocal+AOP

导读 MyBatis多数据源配置与使用其一其二1. 引依赖2. 配置文件3. 编写测试代码4. 自定义DynamicDataSource类5. DataSourceConfig配置类6. AOP与ThreadLocal结合7. 引入AOP依赖8. DataSourceContextHolder9. 自定义注解UseDB10. 创建切面类UseDBAspect11. 修改DynamicDataSourc…

解决git克隆项目出现fatal无法访问git clone https://github.com/lvgl/lvgl.git

Windows 11系统 报错 $ git clone https://github.com/lvgl/lvgl.git Cloning into lvgl... fatal: unable to access https://github.com/lvgl/lvgl.git/: Failed to connect to github.com port 443 after 21141 ms: Couldnt connect to server 解决方法 git运行这两段代码…