1、数据类型转换
不同数据类型有不同的保存方式,如位数不同,当高位转向低位,如果不进行类型转换,就会造成数据溢出。为保护数据信息,需要进行数据类型转换。
- 不同数据类型,在内存占用空间不一样。
2、数据类型转换
2.1 隐式类型转换
- 小——>大
例如:float a = 100;
double b = 10.5f;
int类型的100自动转换位float类型;10.5float类型自动转换位double类型。
2.2显式转换
- 大——>小
例如:
double number = 175.5d;
int height = (int)number;
Console.ReadLine();
3、数值类型和string类型转换
3.1 string转数值
- 语法:数值类型 变量名= 数值类型.Parse(字符串变量或字符串);
-例子:
string a = "123"; //声明一个字符串变量a,并赋初值123
int b = int.Parse(a); //将字符串变量a,强制转换为int类型后,赋值给int类型变量b
int c = int.Parse("11"); //将字符串11,强制转换为int类型后,赋值给int类型变量c
float d = float.Parse("12.1"); //将字符串12.1,强制转换为float类型后,赋值给float类型变量d
double e = double.Parse("123.5");//将字符串123.3,强制转换为double类型后,赋值给double类型变量e
int age = int.Parse(Console.ReadLine());//将用户输入的数据信息,强制转换为int类型后,再赋值给变量age(控制台接收的数据类型,默认是string类型)
注意:
- 将string类型转数值类型前提是,string类型本身的数据是数字。
- Parse()方法只能将字符串转换为数值。
3.2 数值类型转string类型
例如:
int age = 18;
string str = age.ToString();//方法一:ToString()方法
string str1 = age + ""; //方法二:用加号连接一个空字符
最牛的的Convert类型转换
使用Conver类可以进行任意类型的转换
int age = 18;
double height=175.5d;
float result = 10.5f;
string str = Convert.ToString(age);
int a = Convert.ToInt32(height);
float c = Convert.ToSingle(99.9);//方法里可以是变量,也可以是具体数据
double d = Convert.ToDouble(result);
- 代码练习:输入一个小数,进行四舍五入后输出
-提示:将小数转换为int类型后,会丢失精度。将转换前的小数-转换后的整数=原来的小数点后面的数字。用0.5进行大小比较,进行四舍五入。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个小数:");
double number1 = double.Parse(Console.ReadLine());//将用户输入的数据强制转换为double类型后,赋值给变量number1
int number2 = Convert.ToInt32(number1);//将number1的数据强制转换成int类型后,赋值给变量number2
double a = number1 - number2;//求两个数字之间的差,结果是小数,赋值给double类型变量a
int b;//声明一个变量b,用来存储四舍五入后的数据
if (a>=0.5)//四舍五入的条件:小数点后的数据大于等于0.5,结果+1
{
b = number2 +1;
}
else
{
b = number2;
}
Console.WriteLine("这个数字四舍五入后是"+b);
Console.ReadLine();
}
}
}