【C#】数据类型转换
【前言】
数据类型的转换主要是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
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 - 11
 - 12
 - 13
 - 14
 
二、浮点数值类型

三、类型转换
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();
  
 - 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 - 11
 - 12
 - 13
 
2、隐式转换和显式转换
int转double隐式转换,多小数
 double转int显式转换,丢精度
double num1=303.6;
int num2303;//double类型转换为int类型,丢精度
int num=(int)num1;//显示转换,或者说强制类型转换
//在要转换的数据前面加括号,里面写我们要转换成的类型。
Console.WriteLine(num);
Console.ReadKey();
  
 - 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 
double num1 = 90.4;
int number = (int )num1;
Console.WriteLine(number);
Console.ReadKey();
  
 - 1
 - 2
 - 3
 - 4
 - 5
 
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();
  
 
 - 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 
感谢阅读,欢迎斧正~
文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Laura__zhang/article/details/108691536
- 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)