在C#中进行类型转换

一、简单的数值类型转换

在JAVA中,我们知道存在两种转换形式,自动类型转换和强制类型转换,在C#中,我们可以把这两种类型转换称之为隐式类型

转换和显式类型转换。转换的方法和JAVA中一样。

1.隐式类型转换

对于数值类型,类型A的取值范围只要完全包含在类型B中,那么类型A就可以隐式转换为类型B

例如整型数值(int)A就可以隐式转换为浮点型(double).

2.显式类型转换

与隐式转换相反,只要把取值范围大的转换为取值范围小的,就需要用到显式类型转换。

double score = 85.5;

int add = 2;

int finalScore = (int)score + add;

以上这两种转换方式主要适用于数值类型之间的转换。

二、数值类型与字符串之间的转换

上一种方式主要适用于数值类型之间的转换。

那么数值类型与字符串类型之间怎么转换呢?

1.字符串转换为数值型

在C#基础课程中,我们知道了从控制台接受数值类型的方法如下:

int score = int.parse(Console.ReadLine());

当我们要把字符串转换为数值类型时,可以使用Parse()方法。不同的数值类型都有自己的Parse()方法。

字符串转换为整型

int.Parse(string);

字符串转换为单精度浮点型

float.Parse(string);

字符串转换为双精度浮点型

double.Parse(string);

注意:要转换的字符串必须是数字的有效表达式。

2.数值型转换为字符串

将数值类型转换为字符串需要使用到ToString()方法

int age = 20;

string myAge = age.ToString();

三、使用Convert类进行类型转换

上面的Parse()方法是用来将字符串类型转换类数值类型的,我们再来认识一个更厉害的--Convert类,它能够在基本类型之间相互转换。Convert类为每一种都提供了一个静态方法。

Convert.ToInt32();              //转换为整型

Convert.ToSingle();           //转换为单精度浮点型

Convert.ToDouble();         //转换为双精度浮点型

Convert.ToString();           //转换为字符串类型

Convert类为每种类型转换都提供了一个静态方法,所以可以直接通过类型.方法名调用。

举个例子:

Code:
  1. Class Demo   
  2. {   
  3.             static void Main(string [] args)   
  4.            {   
  5.                     double score = 85.6;   
  6.                     int  myInt;   
  7.                     float myFloat;   
  8.                     string myString;   
  9.   
  10.                     Console.WriteLine("原始类型为double:{0}",score);   
  11.   
  12.                      myInt = Convert.ToInt32(score);   
  13.                      myFloat = Convert.ToSingle(score);   
  14.                      myString = Convert.ToString(score);   
  15.   
  16.                     Console.WriteLine("转换后:");   
  17.   
  18.                     Console.WriteLine("int /t float /t string");   
  19.                        
  20.                      Console.WriteLine("{0}/t{1}/t{2}",myInt,myFloat,myString);   
  21.            }   
  22. }  

运行结果:

int     float    string

86     85.6    85.6

值得注意的是在前面显式类型转换时,将double类型显式转换为int类型时,结果是85,而用Convert类进行转换时,结果却是86。结论是利用显式类型转换时,将忽略小数位,就相当于利用SQL中的函数floor()效果一样。而利用Convert类进行转换是,将采用四舍五入的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值