数据类型转换

一、隐式转换

是一种安全类型的转换,不会导致数据丢失。

由小到大:将占用字节小的、取值范围小的、精度小的,转换为占用字节大的、取值范围大的、精度高的。

不需要任何的修饰符,会自动转换

sbyte englishScore = 100;
// sbyte --> int
int myScore = englishScore;
// int --> long
long classScore = myScore;
// int --> float
float newScore = myScore;
// float --> double
double newClassScore = newScore;

二、显式转换(强制转换)

由大到小:将占用字节大的、取值范围大的、精度高的,转换为占用字节小的、取值范围小的、精度低的。

需要强制转修饰符,会有精度的缺失,甚至数据的错误

转换情况:知道这个数字,在小的数据类型的取值范围内

转换方式:

1) (数据类型) 变量名

  • int --> float
int a = 1;
float b = (float) a;
  • int --> char
int num = 97;
char letter = (char) num;
// 输出 letter 为:a  < ASCI码 >
  • int --> bool

int 和 bool 之间不能进行转换

2) Convert.To数据类型(变量名)

是string字符串类型转换为其他数据类型

string x;
bool a = Convert.ToBoolean(x);
int b = Convert.ToInt32(x);
float c = Convert.ToSingle(x);
char d = Convert.ToChar(x);

3) 数据类型.Phrse(变量名)

是string字符串类型转换为其他数据类型

string x;
int a = int.Parse(x);
float b = float.Parse(x);
char c = char.Parse(x);
bool d = bool.Parse(x);
double e = double.Parse(x);

4) 变量名.ToString()

其它类型转换为string字符串类型

float score = 99.9f;
string classScore = score.ToString();

 

补充:

1) 两个整型数字进行数学运算,得到的结果还是一个整型数字

2) 如果想得到浮点型的计算结果,前面的数字至少有一个是浮点型

int num_1;
int num_2;
float sum = (flaot)num_1 / num_2;

3) 在数字中,C#中的布尔类型非 0 即是真,只有 0 是假

4) 保留两位小数的方法:

  • .ToString("0.00");
  • Math.Round(数字,保留几位)
float Pi = 3.1415926f;
//方法一:
Console.WriteLine(Pi.ToString("0.00"));
//方法二:
Console.WriteLine(Math.Round(Pi,2));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值