当前位置: 首页 > news >正文

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);

相关文章:

C# —— 显示转换

显示转换: 通过一些方法可以将其他数据类型转换为我们想要的数据类型 1.括号强转 作用: 一般情况下 将高精度的类型转换为低精度 // 语法: 变量类型 变量名 (转换的变量类型名称) 变量; // 注意: 精度问题 范围问题 sbyte sb 1; short s 1; int …...

zip加密txt文件后,暴力破解时会有多个解密密码可以打开的疑问??

最近在做一个关于zip压缩文件解密的测试,发现通过暴力解密时,会有多个解密密码可以打开,非常疑惑,这里做个问题,希望能有大佬解惑。 1、首先在本地创建一个113449.txt的文件,然后右键txt文件选择压缩&…...

css入门宝典

3.1.4 通配符选择器 语法 : *{} 作用 : 让页面中所有的标签执行该样式,通常用来清除间距 例子 : *{ margin: 0; //外间距 padding: 0; //内间距 } 一 CSS基本语法 1基础知识 1.1概述 Css (层叠样式表)是种格式化网页的标准方式, 用于控制设置网页的样式&#xff…...

【AI原理解析】— 星火大模型

目录 1. 模型基础架构 神经网络结构 编码器 解码器 多层神经网络结构 其他自然语言处理技术 2. 训练数据 来源 规模 3. 自监督学习 Masked Language Model (MLM) 4. 参数量与计算能力 大规模参数量 深度学习算法 5. 技术特点 多模态输入 自我学习与迭代 6. 应…...

StarNet实战:使用StarNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 https://arxiv.org/pdf/2403.19967 论文主要集中在介绍和分析一种新兴的学习范式——星操作(Star Operation),这是一种通过元素级乘法融合不同子…...

单链表——AcWing.826单链表

单链表 定义 单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。 运用情况 用于实现动态的数据存储和管理,例如实现栈、队列等其他数据结构。在需要频繁进行插入和删除操作时非常有用…...

10:Hello, World!的大小

OpenJudge - 10:Hello, World!的大小 描述 还记得在上一章里,我们曾经输出过的“Hello, World!”吗? 它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。 请编程求出它的大小,看看跟你…...

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微…...

WordPress——Argon主题美化

文章目录 Argon主题美化插件类类别标签页面更新管理器文章头图URL查询监视器WordPress提供Markdown语法评论区头像设置发信设置隐藏登陆备份设置缓存插件 主题文件编辑器页脚显示在线人数备案信息(包含备案信息网站运行时间)banner下方小箭头滚动效果站点功能概览下方Links功能…...

Vue部分文件说明

1.eslintignore文件 Eslint会忽略的文件 # Eslint 会忽略的文件.DS_Store node_modules dist dist-ssr *.local .npmrc 2.gitignore # Git 会忽略的文件.DS_Store node_modules dist dist-ssr .eslintcache# Local env files *.local# Logs logs *.log npm-debug.log* yarn-de…...

图书管理系统(SpringBoot+SpringMVC+MyBatis)

目录 1.数据库表设计 2.引入MyBatis和MySQL驱动依赖 3.配置数据库&日志 4.Model创建 5.用户登录功能实现 6.实现添加图书功能 7.实现翻页功能 1.数据库表设计 数据库表是应⽤程序开发中的⼀个重要环节, 数据库表的设计往往会决定我们的应⽤需求是否能顺利实现, 甚至决…...

11.泛型、trait和生命周期(上)

标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数,分别用来取得整型和符号型vector中的最大值 use std::fs::File;fn get_max_float_value_from_vector(src: &[f64]) -> f64…...

UML与设计模式

1、关联关系 关联关系用于描述不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联关系是一种静态关系,通常与运行状态无关,而是由“常识”、“规则”、“法律”等因素决定的,因此关联关系是一种强关联的关…...

如何在Spring Boot中实现图片上传至本地和阿里云OSS

在开发Web应用时,处理文件上传是常见的需求之一,尤其是在涉及到图片、视频等多媒体数据时。本文将详细介绍如何使用Spring Boot实现图片上传至本地服务器以及阿里云OSS存储服务,并提供完整的代码示例。 一、上传图片至本地 首先&#xff0c…...

几个小创新模型,KAN组合网络(LSTM、GRU、Transformer)时间序列预测,python预测全家桶...

截止到本期,一共发了8篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下: 1.终于来了!python机器学习预测全家桶 2.机器学习预测全家桶-Python,一次性搞定多/单特征输入,多/单步预测!最强模板&a…...

ubuntu18.04 配置 mid360并测试fast_lio

1.在买到Mid360之后,我们可以看到mid360延伸出来了三组线。 第一组线是电源线,包含了红色线正极,和黑色线负极。一般可以用来接9-27v的电源,推荐接12v的电源转换器,或者接14.4v的电源转换器。 第二组线是信号线&#x…...

基于Java的诊所医院管理系统,springboot+html,MySQL数据库,用户+医生+管理员三种身份,完美运行,有一万一千字论文

演示视频 基本介绍 基于Java的诊所医院管理系统,springboothtml,MySQL数据库,用户医生管理员三种身份,完美运行,有一万一千字论文。 用户:个人信息管理、预约医生、查看病例、查看公告、充值、支付费用...…...

gvm 在ubuntu下安装

GVM (Go Version Manager) 是一个用于管理多个Go语言版本的工具。以下是使用GVM安装和切换Go版本的基本步骤和示例代码&#xff1a; 一键安装&#xff08;如果网络没问题情况&#xff09; bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master…...

ChatTTS开源项目推荐

开源热门项目推荐&#xff1a;ChatTTS 标题&#xff1a;对话式人工智能的未来——ChatTTS 随着开源程序的发展&#xff0c;越来越多的程序员开始关注并加入开源大模型的行列。对于开源行业和开源项目不同人有不同的关注点&#xff0c;但无论你是新手还是资深开发者&#xff0c…...

java课设

项目简介:射击生存类小游戏 项目采用技术: 游戏引擎: Unity编程语言: Java图形处理: NVIDIA PhysX (物理引擎), HDRP (High Definition Render Pipeline)音效与音乐: FMOD, Wwise版本控制: Git 功能需求分析: 角色控制&#xff1a;玩家能够使用键盘和鼠标控制角色移动、瞄准…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…...