C#学习笔记(9)类型转换

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();
        }
    }
}

运行结果
运行结果

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值