• 【C#】5.C#数据类型转换


    一、数值类型的转换
    隐式转换:(无需指明转换,编译器会自动将操作数转换为相同的类型
    1.发生在同种类型之间的转换
    int a=10;
    int b=a;
    2.值类型从小区间到大区间的转换
    int a=10;
    long b=a;
    float c=b;
    double d=c;
    都是可以直接赋值
     
    显式转换:
    从大区间到小区间的转换(可能导致数据丢失或者异常)
    方法:用强制转换运算符: 变量 =(转换为的数据类型)+要转换的变量名
    double a=10.9
    float b=(float)a;
    int c=(int)b;
     
    二、值类型转换为字符串类型
    方法1:值类型的变量名+“.”+ToString()+“;” 这样就可以将一个数值类型转换为字符串类型
    方法2:利用字符串拼凑的原理:""+数值类型的数字
    1.
    int a=100;
    string str=a.ToString(); //此时str存放a转换之后的字符串 100
    int b=10;
    Console.WriteLine("a+b="+(str+b)); //这时候运算的是字符串拼接,打印出的是10010
    2.
    float c=12.3f;
    string str_2=""+c; //第二种方法,直接写字符串拼接,这时候c也被转换为字符串类型,str_2中存放的是12.3
     
    三、字符串类型转换成值类型
    方法1(推荐): 值类型+“.”+Parse(字符串变量名);
    1.
    string str="1234"; //注意给字符串赋值的时候,后面的字符串加双引号
    int num=int.Parse(str); //str转换成整数类型存放在num中
    2.
    错误的转换,需要考虑转化之后是否能接收接收的问题
     
    string info="12.3";
    int num=int.Parse(info);//异常,12.3想要转化为int无法被接收,转化为浮点型可以实现
    3.
    string info = " 123";
    int num = int.Parse(info);
    Console.WriteLine("num+123=" + (num + 123));
     
    string info_1 = "0123";
    int num_1 = int.Parse(info_1);
    Console.WriteLine(num_1+2);
     
    string info_2 = ".123";
    float num_2 = float.Parse(info_2);
    Console.WriteLine(num_2+2);
     
    /*总结:
    * 1.可以在数字前后加若干个空格,但是不能在数字中间加
    * 2.当转换成整数时,数字后边不能加点
    * 3.在转换成浮点型的时候,可以在数字前后加‘.’
    * 4.可以再数字的前中后加若干个“0”,加在最前面的0不影响数值大小,在中后添加0会使数值变大,要注意数值越界问题
    */
     
    方法2: int a = Convert.ToInt32(字符串变量名);
    ()
     
    四、字符串类型和布尔类型的相互转换
    1.字符串类型转化为布尔类型
    string IsGameOver="True"; //要把字符串转化为bool类型时候只能是true、True、false、False
    bool a=bool.Parse(IsGameOver);//布尔类型属于值类型,转换的时候写Parse
    Console.WriteLine(a);//输出的是True
     
    2.布尔类型转化为字符串类型
    注意:布尔类型在定义的时候只能写小写true 或者 false
    bool IsGameOver=false;
    string info=IsGameOver.ToString();
    Console.WriteLine(info); //输出的是False
     
     
    as 和 is 强制类型装换,具体做了什么?

     
  • 相关阅读:
    深入浅出的webpack4构建工具--webpack4+vue+route+vuex项目构建(十七)
    深入浅出的webpack4构建工具---Scope Hoisting(十六)
    深入浅出的webpack4构建工具---webpack+vue+router 按需加载页面(十五)
    深入浅出的webpack构建工具--webpack4+vue+router项目架构(十四)
    关于html的a标签的target="__blank "的安全漏洞问题
    深入浅出的webpack构建工具--webpack4+vue搭建环境 (十三)
    深入浅出的webpack构建工具---tree shaking打包性能优化(十二)
    深入浅出的webpack4构建工具---浏览器前端资源缓存(十一)
    vue分页全选和单选操作
    go语言之进阶篇通过range遍历channel内容
  • 原文地址:https://www.cnblogs.com/weigangblog/p/12742832.html
Copyright © 2020-2023  润新知