C#类型转换

news/2025/2/5 19:48:43/

🍟数据类型

大体分为三个大类型:整型(其中又分为有符号整型、无符号整型)、浮点型、特殊类型
在这里插入图片描述
注意:浮点数在初始化时要在值后加上后缀,双精度浮点数decimal的后缀为“M”、单精度浮点数double和float的后缀为“f”。

🍟隐式转换

作用:将高精度(大范围)转为低精度(小范围)
语法:大变量名=小变量名
大类型可以装下小类型,即小类型可以转换成大类型

🌭1.相同大类间转换

变量名参照上图数据类型

🥓(1)有符号整型间

long->int->short->sbyte
在这里插入图片描述

🥓(2)无符号整型间

ulong->uint->ushort->byte
在这里插入图片描述

🥓(3)浮点数

double->float
特殊:decimal无法隐式转换成double和float型
在这里插入图片描述

🥓(4)特殊类型

char、bool、string之间不互转

🌭2.不同大类间转换

🥓(1)有符号整型->无符号整型

在这里插入图片描述

注:不能同级别转,如i与ui转或sb与s转,因为在正整数范围内,ui的范围比i大,byte的范围比sbyte大(有符号整型范围是-127到127;无符号整型范围是0到256),转的话会报错:

在这里插入图片描述

🥓(2)浮点数->整型(有符号、无符号)

在这里插入图片描述

特殊:decimal虽然不可隐式转换为double和float,但可转成所有整型

🥓(3)整型(有符号、无符号)、浮点型->char

注意范围,只有部分整形才能转换成char
在这里插入图片描述
注:bool与string无法隐式转换成其他类型

🍟显式转换

🌭1.括号强转(数值间)

作用:将高精度类型强制转换成低精度
语法:小变量名=(小变量类型)大变量名
注意:精度问题、范围问题
👻创建的变量名和上面一样
在这里插入图片描述

🥓一.同类型间

(1)有符号整型
在这里插入图片描述

(2)无符号整型
在这里插入图片描述

(3)浮点数间 (decimal不参与)
在这里插入图片描述

(4)特殊类型间不可互转

🥓二.不同类型间

(1)有符号整型<->无符号整型(只要是左小右大就行)
在这里插入图片描述

(2)浮点数->整型
只会保留整数部分,不四舍五入,精度低
在这里插入图片描述

(3)整形->char
在这里插入图片描述

🌭2.Parse法(将string转为其他)

作用:将字符串转成对应类型
语法:变量类型.Parse(“字符串”);,要用转换成的的变量类型的变量接收该值
🌈注意:
①字符串必须能转成对应类型(比如肯定不能将字符串"123"转成浮点型,但可以将它转成任意整型)
②不能超范围(比如不能将字符串"100000000"转成sbyte类型,因为数据超过了sbyte类型的存储范围)

🥓(1)转成整型

在这里插入图片描述

🌈注意被转字符串类型要与转成的类型相匹配,否则程序会出错。
比如:123.45无法转成整型
在这里插入图片描述

🥓(2)转成浮点型

在这里插入图片描述
在这里插入图片描述

🥓(3)转成特殊类型

在这里插入图片描述
在这里插入图片描述
🌈注:只能将字符串"true"或"false"转成bool类型,其他字符串会导致程序出错。
比如:将字符串"1"转成bool类型,程序出错
在这里插入图片描述
没必要将字符转成string,更没必要把string转成string

🌭3.Convert法(各个类型互转)

作用:更准确地转换数值(会四舍五入),转换各种类型
语法:Convert.To目标类型(变量/常量),要用目标类型的变量接收该值
在这里插入图片描述

🥓(1)其他->整型

在这里插入图片描述

在这里插入图片描述
👻总结:
1.整型间互转时,要注意转成的数需要在范围内,否则程序出错
在这里插入图片描述
2.数字字符串转整型时也需要在范围内,注意字符串书写正确
在这里插入图片描述

3.浮点数转整型时,会四舍五入,精度比括号强转高
4.字符转整型时,转成对应的ASCII码值
5.bool类型转整型时,true对应1,false对应0

🥓(2)转成浮点型

在这里插入图片描述
在这里插入图片描述
注:
1.字符不可以转为浮点型
在这里插入图片描述
2.字母字符串不可以转成浮点型
在这里插入图片描述
3.bool类型的true是1,false是0

🥓(3)转成特殊类型

在这里插入图片描述
在这里插入图片描述

🌭4.其他转string

作用:拼接打印的内部原理是先将各个组成部分转换成string,再整体拼接
语法:变量/常量.ToString( );,需要用string类型的变量接收
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/1023719.html

相关文章

【docker】 运行bytetrack 构建映像失败 使用docker删除之前构建的映像

1 Docker删除docker build失败的images docker images | grep "<none>" | awk {print $3} | xargs docker rmi 2 Docker删除启动失败的image docker ps -a | awk {if (length($2) 12){print $1}} | xargs docker rm

SQL Server基础之游标

一&#xff1a;认识游标 游标是SQL Server的一种数据访问机制&#xff0c;它允许用户访问单独的数据行。用户可以对每一行进行单独的处理&#xff0c;从而降低系统开销和潜在的阻隔情况&#xff0c;用户也可以使用这些数据生成的SQL代码并立即执行或输出。 1.游标的概念 游标是…

构建高性能的MongoDB数据迁移工具:Java的开发实践

随着大数据时代的到来&#xff0c;数据迁移成为许多企业和组织必须面对的挑战之一。作为一种非关系型数据库&#xff0c;MongoDB在应用开发中得到了广泛的应用。为了满足数据迁移的需求&#xff0c;我们需要一个高性能、稳定可靠的MongoDB数据迁移工具。下面将分享使用Java开发…

类什么时候执行初始化

6种情况下&#xff0c;类必须立即进行 “初始化” 1、遇到new、getstatic、putstatic或invokestatic这四条字节码指令时。 典型Java代码场景有&#xff1a; 使用 new 关键字实例化对象的时候&#xff1b;get 或 set 一个类型的 静态字段 的时候&#xff08;被final修饰、已在编…

8.10 校招 内推 面经

绿泡泡&#xff1a; neituijunsir 交流裙&#xff0c;内推/实习/校招汇总表格 1、校招丨梅卡曼德机器人2024校招正式启动 校招丨梅卡曼德机器人2024校招正式启动 2、校招丨2024届华为粤港澳顶尖招聘启动 校招丨2024届华为粤港澳顶尖招聘启动 3、校招丨华为GTS-服务与软件…

CSS文本裁剪

对于单行文本裁剪&#xff1a; span {text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block; } 对于多行文本裁剪&#xff1a; 在文本容器上定义 CSS Flexbox 属性 display: -webkit-box; 定义要显示的文本行数 -webkit-line-clamp: 4; 添加 -webkit-…

数组slice、splice字符串substr、split

一、定义 这篇文章主要对数组操作的两种方法进行介绍和使用&#xff0c;包括&#xff1a;slice、splice。对字符串操作的两种方法进行介绍和使用&#xff0c;包括&#xff1a;substr、split (一)、数组 slice:可以操作的数据类型有&#xff1a;数组字符串 splice:数组 操作数组…

基于CentOS 7 配置nginx负载均衡

搭建负载均衡服务的需求如下&#xff1a; 1 ) 把单台计算机无法承受的大规模并发访问或数据流量分担到多台节点设备上&#xff0c;分别进行处理&#xff0c; 减少用户等待响应的时间&#xff0c; 提升用户体验。 2 ) 单个重负载的运算分担到多台节点设备上做并行处理&#xff…