第五章、C#数据类型的转换(Parse、Convert)

在C#中,允许数据类型之间相互转换,当数据从低精度转换成为高精度的时候,可以不做任何的处理,隐式的转换。但是当高精度向低精度转换的时候,一定要显式的转换。

5.1、高精度数值转换成为低精度数值

(1)、double转换成为float

float a = (float)13.55;

float a = 13.55f;

 

(2)、double转换成为int

int b = (int)20.76;//b==20,直接取整数部分而不会进行四舍五入.

 

(3)、float转换成为int

int c = (int)20.75f;

5.2、数值与字符串之间的转换

在C#中,类型是非常严格的,字符串与数值之间的的转换要显式的转换,而且还要这个字符串是能够转换成为数值的。

5.2.1、Parse将数值字符串转换成为数值

A、将双精度字符串转换成为双精度数值

double a = double.Parse("20.25");//a==20.25

 

B、将整数字符串转换成为整数数值

int a = int.Parse("20");//a==20

int kk = int.Parse("20.01");//错误

 

5.2.2、ToString将数值转换成为字符串

int a = 20;

string s = a.ToString();//s=="20"

 

5.2.3、Convert

int b = Convert.ToInt32("25");//b==25

double d = Convert.ToDouble("20.25");//d==20.25

int b = Convert.ToInt32("20.7");//错误

 

int b = Convert.ToInt32(20.7);//b==21,会四舍五入

double d = Convert.ToDouble(20);//d==20.0

 

string s = Convert.ToString(20);//s=="20"

 

5.2.3.1、Convert.DBNull属性

Convert.DBNull:一个常数,表示数据库某行某列值在数据库中是null,数据库中的null经过DataSet.Tables[0].Rows[i][j]取出来之后,是object类型的,它就等于Convert.DBNull,不等于.net中的null即:Convert.DBNull != null,DataSet.Tables[0].Rows[i][j].Tostring()之后是长度为0的字符串。

5.2.3.1、Convert.IsDBNull函数

publicstaticboolIsDBNull (Objectvalue)

返回有关指定对象是否为 DBNull类型的指示

 

5.3、小结

对于数值类型的数据,没有初始化的话,默认为0;对于引用类型的数据,没有创建的话就默认为null

对于字符串,如果两个字符串引用的值是相同的,那么两个引用的地址就是一样的,因为有一个字符串池的概念。

长度为0的字符串是非null的,定义一个字符串后没有初始化才是null;在sqlserver 2005数据库中,长度为0的字符串与null也是不一样的,null代表什么都没有。

2009-02-19

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值