C# —— 显示转换

显示转换: 通过一些方法可以将其他数据类型转换为我们想要的数据类型

1.括号强转

作用: 一般情况下 将高精度的类型转换为低精度
            // 语法: 变量类型 变量名 = (转换的变量类型名称) 变量;
            // 注意: 精度问题 范围问题

sbyte sb = 1;
short s = 1;
int i = 10;
long l = -1;

强转时 可能会出现范围问题 需要注意

 s = (short)i;sb = (sbyte)l;Console.WriteLine(s);Console.WriteLine(sb);

无符号

byte b = 5;
ushort us = 6;
uint ui = 10;
ulong ul = 10;b = (byte)ul;
Console.WriteLine(b);

不同类型 无符号和有符号强转
            // 注意 强转时一定要注意范围 不然得到的结果会异常

 b = (byte)l;Console.WriteLine(b);// 浮点数decimal dl = 0.6m;double d = 2.8;float f = 0.5f;// 浮点数之间强转 : 同整数之间相同dl = (decimal)d;Console.WriteLine(dl);// 整形和浮点数进行转换// 浮点数强转为整形时 会直接省略掉小数点后面的小数i = (int)dl;Console.WriteLine("这是强转decimal:" + i);i = (int)d;Console.WriteLine("这是强转double:" + i);i = (int)f;Console.WriteLine("这是强转float:" + i);

 字符类型 : 可以将数字强转为char类型(有这个ASCII码)

int A = 'a';
Console.WriteLine(A); 
char c = (char)A;
Console.WriteLine(c); 
// 布尔类型 : 无法进行强转
bool t = true;
// t = (float)t;
// Console.WriteLine(t);
// string 类型 : 无法进行强转
string str = "123";
// str = (int)str;
// 布尔类型和string类型 是无法进行强转的

2.Parse法

作用: 将字符串类型转换为对应的类型
            // 语法: 变量类型.parse(字符串);
            // 注意: 字符串必须能够转换为相应类型 否则报错

string str2 = "1254536";
i = int.Parse(str2);
Console.WriteLine(i);

我们转换字符串 必须是要能够转成对应类型的字符 否则会报错
            // 转换时 其实也遵循隐式转换原则 大范围装小范围
            // i = int.Parse("123.45");

 string str3 = "123.45";float f2 = float.Parse(str3);Console.WriteLine(f2);string str7 = "123";float f3 = float.Parse(str7);Console.WriteLine("直接使用float去转换整数字符串"+ f3);

string str4 = "15645666";
// byte b4 = byte.Parse(str4);
// Console.WriteLine(b4);
string str5 = "1";
// 有符号
long l5 = long.Parse(str5);
int i5 = int.Parse(str5);
short s5 = short.Parse(str5);
sbyte sb5 = sbyte.Parse(str5);
// 无符号
ulong ul5 = ulong.Parse(str5);
uint ui5 = uint.Parse(str5);
ushort us5 = ushort.Parse(str5);
byte b5 = byte.Parse(str5);
// 浮点数
string str6 = "123.5";
float f5 = float.Parse(str6);
double d5 = double.Parse(str6);
decimal dl5 = decimal.Parse(str6);

// 布尔值
bool bl5 = bool.Parse("true");
bool bl6 = bool.Parse("false");
Console.WriteLine(bl5);
Console.WriteLine(bl6);
// 字符
char c6 = char.Parse("A");
Console.WriteLine(c6);

3.Convert法 

作用: 更加准确的将各个类型之间进行相互转换
            // 用法: Convert.To目标类型(变量或常量)
            // 注意: 需要转换的变量或者常量必须正确 否则会报错

每一个类型都存在一个对应的convert.to方法
           

// 有符号
long lg = Convert.ToInt64(str_one);
int it = Convert.ToInt32(str_one);
short st = Convert.ToInt16(str_one);
sbyte sbt = Convert.ToSByte(str_one);// 无符号
ulong ulg = Convert.ToUInt64(str_one);
uint uit = Convert.ToUInt32(str_one);
ushort ust = Convert.ToUInt16(str_one);
byte bt = Convert.ToByte(str_one);
// 浮点数
float ft = Convert.ToSingle(str_one);
double db = Convert.ToDouble(str_one);
decimal dc = Convert.ToDecimal(str_one);
Console.WriteLine(lg);
Console.WriteLine(ft);
Console.WriteLine(db);
Console.WriteLine(dc);
Console.WriteLine("************************************");

convert 方法  精度更加准确
            // 精度比括号强转会更好一点 会进行四舍五入

int num_two = Convert.ToInt32(1.2456f); // 1
Console.WriteLine(num_two);
num_two = Convert.ToInt32(1.5456f); // 2
Console.WriteLine(num_two);Console.WriteLine("************************************");

如果把字符串转换为对应类型 那么字符串一定要符合类型  否则会报错
            // convert.to 去转换数据类型时  也遵循隐式转换原则 大范围装小范围
            // num_two = Convert.ToInt32("1.5456"); // 报错
            // Console.WriteLine(num_two);

 float float_two = Convert.ToSingle("1.5456");Console.WriteLine(float_two);float float_three = Convert.ToSingle("5");Console.WriteLine(float_three);

特殊类型转换

// bool类型也可以转换为整形 true 为 1 false 为 0
bool bl1 = true;
bool bl2 = false;
num_two = Convert.ToInt32(bl1);
Console.WriteLine(num_two); // 1
num_two = Convert.ToInt32(bl2);
Console.WriteLine(num_two); // 0
// 布尔值转字符串
// 数值转换为bool类型
// 除了布尔值字符串 其余字符串转换布尔值会报错
// 除零外 其余数字类型转换为布尔值时为true 0 为false
bool bl3 = Convert.ToBoolean("true");
// bool bl4 = Convert.ToBoolean("123");
bool bl4 = Convert.ToBoolean(-5);
bool bl8 = Convert.ToBoolean(2.5);
Console.WriteLine(bl3);
Console.WriteLine(bl4);
Console.WriteLine(bl8);Console.WriteLine("**********************************");
// char  类型
char B = 'B';
num_two = Convert.ToInt32(B);
Console.WriteLine(num_two);
// 字符串转 char 类型
B = Convert.ToChar("王");
Console.WriteLine(B);
// 数字转 char类型 是根据对应的ASCII码表进行转换
B = Convert.ToChar(66);
Console.WriteLine(B);Console.WriteLine("*********string类型**************");
// string 类型
string str_five = Convert.ToString(num_two);
Console.WriteLine(str_five);

4.其他类型转string

 ToString()
            // 作用: 拼接字符
            // 用法: 变量或者常量.ToString();

string str_six = 5.ToString();
Console.WriteLine(str_six);
str_six = true.ToString();
Console.WriteLine(str_six);
str_six = 1.2f.ToString();
Console.WriteLine(str_six);
str_six = 'A'.ToString();
Console.WriteLine(str_six);

字符串拼接时  其实 默认自动调用的ToString方法 装换为string类型

Console.WriteLine("每个人都有" + 10 + "个手指头" + true);

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

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

相关文章

如何使用视频文案提取帮手将手机上视频里的声音转成文字?

在自媒体短视频日益增加的时候不少自媒体创作者如何将视频转文字的需求日益增加。本次将给大家分享一款针对广大职场青年用户群体的视频转文字工具,旨在为用户提供高效、准确的视频转文字服务。 如何将手机上的视频转成文字呢 视频转文字工具具有转换速度快&#…

Makefile的学习之路

目录 1、简介 2、语法规则 3、变量 4、函数 5、伪目标.PHONY 6、嵌套执行makefile 7、makefile示例 8、gcc编译选项 基本选项 调试选项 优化选项 警告选项 语言选项 链接选项 预处理选项 其他选项 1、简介 makefile是一个用于自动化构建程序的脚本文件&#xf…

轮式机器人Swiss-Mile城市机动性大提升:强化学习引领未来城市物流

喜好儿小斥候消息,苏黎世联邦理工学院的研究团队成功开发了一款革命性的机器人控制系统,该系统采用强化学习技术,使轮式四足机器人在城市环境中的机动性和速度得到了显著提升。 喜好儿网 这款专为轮腿四足动物设计的控制系统,能…

k8s 证书更新

如何使用脚本更新Kubernetes集群证书 引言 Kubernetes集群中,由kubeadm初始化的证书有效期默认为一年。当这些证书接近或已经超过有效期时,它们必须被更新以保证集群的正常运作。本文将介绍如何使用特定脚本来更新这些证书,将它们的有效期延…

机械臂抓取物体整体的开发流程

开发一个机械臂抓取物体的系统涉及多个步骤和不同领域的知识,包括机械设计、控制系统、传感器集成、软件开发等。以下是一个全面的开发流程概述: 1. 需求分析与系统设计 需求分析: 明确机械臂需要抓取的物体类型(大小、重量、材…

【redis过期删除】

redis过期删除 redis的键可以设置过期时间,但是并不是每个键一到过期时间就会立即删除,redis不可能给每个设置过期时间的key上添加一个定时器来监视是否过期,CPU根本承受不了如此多的定时线程 注意:我使用的版本是6.0.10&#xf…

618必抢清单:内存升级国货更强,DDR5劲爆大白菜

随着数字时代的加速发展,平时在PC上玩游戏、办公的时候,电脑性能对我们的影响越来越打。相比于CPU、显卡等硬件,内存对于电脑性能的重要性也很高,而且可以通过更低的成本来升级。内存就像是电脑的神经网络,影响着CPU数…

linux中unattended-upgr是什么,如何关闭

unattended-upgrades 是 Ubuntu 操作系统自动更新软件包的一个进程。它默认开启,定期检查可用更新并自动升级。 要关闭 unattended-upgrades 进程,您可以执行以下步骤: 进入命令窗口。 输入以下命令并运行: sudo systemctl st…

超强生图模型,抢先体验!

文生图模型Stable Diffusion 3 Medium开源啦!优刻得GPU云主机目前已上线该模型镜像,开箱即用,即刻体验!具体操作见文末。 近年来,生成式人工智能的快速发展正在改变我们的生活。作为这一领域的前沿技术之一&#xff0…

成都跃享未来教育咨询解锁新篇章

在快节奏的现代社会中,每个人都在追求着属于自己的非凡人生。而成都跃享未来教育咨询,正是那个能够智慧引领你走向成功、成就非凡人生的灯塔。 跃享未来教育咨询,位于历史悠久的文化名城成都,这里不仅有丰富的文化底蕴&#xff0c…

Score Matching(得分匹配)

Score Matching(得分匹配)是一种统计学习方法,用于估计概率密度函数的梯度(即得分函数),而无需知道密度函数的归一化常数。这种方法由Hyvrinen在2005年提出,主要用于无监督学习,特别…

python-03

使用File操作文件 open(file, moder, buffering-1,encodingNone, errorsNone, newlineNone, closefdTrue, openerNone) file:要打开的文件 mode:文件打开模式。默认访问模式是读(r) buffering:缓冲区大小 encodin…

【proteus仿真】基于51单片机的电压检测系统

【proteus仿真】基于51单片机的电压检测系统 资料下载地址:关注公众号 小邵爱电子 获取 1.前言 使用51单片机和ADC模块设计一个数字电压表,将模拟信号0~5V之间的电压转换为数字量信号,并通过LED实时显示电压数据 、 2.仿真原理图 3.硬件…

java的深拷贝和浅拷贝

总结: 深拷贝:无论是基本类型还是引用类型都会创建新的实例。 浅拷贝:对于基本类型就是复制其值,对于引用类型则是复制了指向这些数据类型的内存地址。 浅拷贝(Shallow Copy) 浅拷贝是指在创建新对象时&am…

AI写代码,CS还有前途吗?加州大学伯克利分校:CDSS申请人数激增48%!

目录 01 CS入学人数暴涨 02 人类Coder可堪大任 03 AI还没有学会创新 04 编程与农耕不同 AI写了这么多代码,你还应该学习计算机科学吗? 新的数据显示,学生们仍然热衷于选修计算机科学:加州大学伯克利分校(UCB&#…

低代码组件扩展方案在复杂业务场景下的设计与实践

组件是爱速搭的前端页面可视化模块的核心能力之一,它将前端研发人员从无休止的页面样式微调和分辨率兼容工作中解放了出来。 目前,爱速搭通过内置的上百种功能组件(120),基本可以覆盖大部分中后台页面的可视化设计场景…

如何安全进行亚马逊、沃尔玛测评?

在亚马逊、沃尔玛、速卖通、阿里国际站等电商平台上,测评已成为一种高效的推广手段,但伴随的风险也不容忽视。这些风险主要源于平台严格的大数据风控机制,它涵盖了多个方面,以确保评价的真实性和合规性。 首先,硬件参数…

如何以银行客户为中心实现自动化,并创造更顺畅的客户体验?

在当今社会,客户已习惯于通过几次点击就能迅速得到所需,但银行业的客户旅程仍然因为延误、错误、隐藏费用和资金可获取性问题而显得繁琐。试问,您上一次向他人推荐自己的银行、保险公司或税务局提供的优质服务是何时? 无论是购车…

EXCEL数据导入HIVE

引言 本文将论述如何将Windows本地的excel表数据,导入到虚拟机Linux系统中的Hadoop生态中的Hive数据仓库中。 实验准备 DBeaver Hive3.1(Hadoop3.1) excel数据表 实验步骤 一、首先打开虚拟机,启动Hadoop,启动hive,启动hiveserver2,连接DBeaver,成功连接展示如下…

游戏类APP选对开发框架很重要,Uni-app和Cocos Creator如何选?

开发游戏app,选择使用Uniapp和Cocos Creator这两种不同的技术平台开发时,需要考虑和比较这两者间的区别和差距。 Unity被公认为3D游戏开发的首选,它拥有成熟的3D开发工具和海量资源。华服巨作《王者荣耀》就是基于Unity引擎打造。而Cocos作为…