【C#】数据类型转换

举报
Laura_张 发表于 2022/08/26 22:23:47 2022/08/26
1k+ 0 0
【摘要】 文章目录 【前言】【正文】一、数据类型二、浮点数值类型三、类型转换 【前言】 数据类型的转换主要是int和double类型之间的转换,可以直接用括号来表示数据转换,也可以使用Conve...

【前言】

数据类型的转换主要是int和double类型之间的转换,可以直接用括号来表示数据转换,也可以使用Convert.ToInt32和Convert.ToDouble来进行转换。
最主要的是隐式转换和显式转换,int转double隐式转换,多小数;double转int显式转换,丢精度

【正文】

一、数据类型

在这里插入图片描述

//数据类型
            int num = 100;//存整数

            double douNumber = 30.5;//存小数

            //字符不能为空,最少是一个,最多也是一个
            char ch = '5';//字符类型

            //字符串,可以为空,也可以为多个
            string str = "小杨又帅了";

            //精度的问题,有小数的时候后面必须加m
            decimal money = 23.33m;
  
 

二、浮点数值类型

在这里插入图片描述

三、类型转换

1、类型自动转换

参与运算(算术运算和赋值运算)的操作数和结果的类型必须一致,当不一致时,有下面的条件,系统自动完成转换(隐式转换)

- 两种类型兼容
例如 int和double(都是数字类型,可以兼容)
或者是目标类型大于源类型
例如:double>int
int类型的数据可以自动转换为double类型的数据,
double类型的数据可以表示int类型的数据。

在这里插入图片描述

  • 对于表达式
    如果一个操作数是double类型,整个表达式可以提升为double型,就是说运算中有一个double类型,其余的int都变为double类型。
         //自动类型转化
            //占位符的使用
            int num1 = 10;
            int num2 = 3;

            double remainder =num1*1.0/num2;
            //int类型的数据可以自动的转换成double类型的数据
            //或者说int类型的数据可以隐式转换成double类型的数据

            //使用占位符的方法保留几位小数
            Console.WriteLine("{0:0.0000}",remainder);
            Console.ReadKey();
  
 

2、隐式转换和显式转换

int转double隐式转换,多小数
double转int显式转换,丢精度

double num1=303.6;
int num2303;//double类型转换为int类型,丢精度

int num=(int)num1;//显示转换,或者说强制类型转换
//在要转换的数据前面加括号,里面写我们要转换成的类型。
Console.WriteLine(num);
Console.ReadKey();

  
 
double num1 = 90.4;
int number = (int )num1;

Console.WriteLine(number);
Console.ReadKey();

  
 

3、使用convert转换

Convert 考虑数据意义的转换,convert是一个加工、改造的过程

通过Convert.ToInt32(能转换成int类型的数据)来把其他类型数据转换成int类型。
通过Convert.ToDouble(能转换成double类型的数据)来把其他类型数据转换成double类型。

           //convert是对数据意义的转换
            Console.WriteLine("请输入你的语文成绩");
            string strChinese = Console.ReadLine();

            Console.WriteLine("请输入你的数学成绩");
            String strMath = Console.ReadLine();

            //都要是数字类型的数据,才能计算

            //把字符串类型的语文成绩转换成int类型的数据
            int chinese = Convert.ToInt32(strChinese); 
            //把字符串类型的数学成绩转换成int类型的数据
            int math = Convert.ToInt32(strMath);                  
            //在输入的时候,不考虑输入字母,使用try-catch 来解决问题
      
            int sum =chinese + math;
            Console.WriteLine("总成绩为{0}", sum);
            Console.ReadKey();
  
 

感谢阅读,欢迎斧正~

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/108691536

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。