首页 > 编程语言 >C#学习笔记--变量类型的转换

C#学习笔记--变量类型的转换

时间:2023-10-08 17:22:50浏览次数:39  
标签:转换 C# float 笔记 char -- int 类型 隐式

变量类型的转化:

转换原则 同类型的大的可以装小的,小类型的装大的就需要强制转换。

隐式转换:

同种类型的转换:

 //有符号  long——>int——>short——>sbyte
long l = 1;
int i = 1;
short s = 1;
sbyte sb = 1;
//隐式转换 int隐式转换成了long
//可以用大范围 装小范围的 类型 (隐式转换)
l = i;
//不能够用小范围的类型去装在大范围的类型
//i = l;
l = i;
l = s;
l = sb;
i = s;
s = sb;

ulong ul = 1;
uint ui = 1;
ushort us = 1;
byte b = 1;

ul = ui;
ul = us;
ul = b;
ui = us;
ui = b;
us = b;

//浮点数  decimal    double——>float
decimal de = 1.1m;
double d = 1.1;
float f = 1.1f;
//decimal这个类型 没有办法用隐式转换的形式 去存储 double和float
//de = d;
//de = f;
//float 是可以隐式转换成 double
d = f;

//特殊类型  bool char string
// 他们之间 不存在隐式转换
bool bo = true;
char c = 'A';
string str = "123123";
//特殊类型  bool char string
// 他们之间 不存在隐式转换

不同类型的转换:

char类型可以隐式转换成数值型,根据对应的ASCII码来进行转换。

无符号的无法隐式存储有符号的,而有符号的可以存储无符号的。

显示转换

  1. 括号强转(注意精度问题 范围问题)

    //有符号类型
    int i=1;
    short s=(short)i;
    //无符号类型
    byte b=1;
    uint ui=(uint)b;
    //浮点数
    float f=1.5f;
    double d=1.5;
    f=(float)d;
    //无符号和有符号
    //要保证正数 注意范围
    int ui2=1;
    int i2=1;
    ui2=(uint)i2;
    //浮点和整型
    i2=(int)1.25f;
    //char和数值类型
    i2='A';
    char c=(char)i2;
    
  2. Parse方法

    //Parse转换
    int i4=int.Parse("123");
    float f4=float.Parse("12.3");
    //注意类型和范围!
    
  3. Convert法

    int a=Convert.ToInt32("12");
    a=Convert.ToInt32("1.35f");//会四舍五入
    a=Convert.ToInt32(true);//转为1 false转为0
    

    注意:在Convert转换中变量以Int做标准,例如 INT16 为int,ToSingle为float

    ToDouble为double,ToBoolean为bool;

  4. 其它类型转换为string(调用ToString方式)

    string str=true.ToString();

    string str2=1.5f.ToString();


标签:转换,C#,float,笔记,char,--,int,类型,隐式
From: https://www.cnblogs.com/TonyCode/p/17749674.html

相关文章

  • vue前端接收数组;
    后端 $this->assign('info',$expert);如果是数组/对象,需要在接收页面这样写:在data内变量赋值: info: <?phpechojson_encode($info);?>  另外有其他写法:  $this->assign('info',1); 如果是单个值:在data内变量赋值: info: ‘{$info}’翻译搜索......
  • 0.MVC模式概述
    MVC模式Model、View、Controller。是一种设计规范,目的是降低业务逻辑之间的耦合。1、Model模型DAO、Service,负责模型数据操作,包括了数据和业务。2、View视图负责模型的展示,用户客户看得到的界面。3、Controller控制器接收请求,发送给model进行处理,模型处理完后接收模型返回......
  • Redis——底层和数据结构
    数据结构简单动态字符串SDS可以认为在Redis中所有的东西最终都是字符串。Redis是C语言实现的,但是Redis没有直接使用C语言中的字符串,C语言字符串是字符数组实现的,存在很多问题:1、获取字符串的长度需要运算,时间复杂度达到O(n)。2、非二进制安全,无法保存\0字符(被识别成结束标识)......
  • poj2279
    Mr.Young'sPicturePermutationsTimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:5841 Accepted:1860DescriptionMr.Youngwishestotakeapictureofhisclass.Thestudentswillstandinrowswitheachrownolongerthanth......
  • win行命令
    #win行命令```markdown#2、查找所有运行的端口输入命令:netstat-ano该命令列出所有端口的使用情况。在列表中我们观察被占用的端口,比如是1224,首先找到它。#3、查看被占用端口对应的PID输入命令:netstat-aon|findstr"8081"回车执行该命令,最后一位数字......
  • 游戏开发 - 图片的格式
    PPM PNG JPEG 压缩 压缩算法 压缩策略 基于手机的项目 Android支持的压缩格式IOS支持的压缩格式 项目中遇到的问题和解决方案 后续的问题反走样与在游戏中的影响 采样方式与游戏中的影响......
  • 【项目二】WPF掷骰子
    一、素材地址:https://icons8.com/icons/set/dice二、需求分析:WPF框架实现一个掷骰子动画:有6个点数的骰子图片,初始时图片默认为1点,当点击开始按钮后,随机变换图片,2s后定格到当前骰子点数。三、代码实现:1.需要将骰子的6张图片放在项目的"Images"文件夹下,并设置它们的BuildActio......
  • .net core读取Response.Body
    读取请求体流的demopublicstaticasyncTask<string>GetBodyForm(thisHttpContexthttp){varcontent=string.Empty;varrequest=http.Request;try{request.Body.Position=......
  • HarmonyOS应用窗口管理(Stage模型)
     一、 窗口开发概述窗口模块的定义窗口模块用于在同一块物理屏幕上,提供多个应用界面显示、交互的机制。● 对应用开发者而言,窗口模块提供了界面显示和交互能力。● 对终端用户而言,窗口模块提供了控制应用界面的方式。● 对整个操作系统而言,窗口模块提供了不同应用界......
  • Redis——分布式锁
    基本原理synchronized是利用JVM内部的锁监视器控制线程,但是只能在一个JVM中生效。如果有多个JVM的时候,就会有多个线程获取到锁,就无法实现多JVM进程之间的互斥了。因此不能使用JVM内部的锁监视器了,必须使用JVM外部的锁监视器,就能保证只有一个线程获取到锁,就能实现多进程之间的互......