C#基础③——类型转换(int转double、double转int、Convert)

简介: 不同数据类型间的转换,如:将int类型转换为string类型

类型转换是什么?


不同数据类型间的转换,如:将int类型转换为string类型


为什么需要类型转换?


从控制台接收到的用户输入的内容都是string类型,如果要进行计算,就需要将接收到的内容转换成数值类型


什么是隐式转换?如下图

什么是强制转换?如下图


             20200821121420802.png              


一、代码展示


1.隐式转换:int——>double

     

        20200821122307246.png      


int num1 = 10;                      //int类型变量
int num2 = 3;                       //int类型变量
double sum = num1*0.1 / num2;       //double类型变量
Console.WriteLine("{0:0.00}",sum);  //使用占位符{0:0.00}表示结果保留两位小数,并在控制台输出
Console.ReadKey();


输出结果:0.33


2.强制转换


①、double——>int:变量前面加(int)


double number = 10.6;       //double类型变量并赋值
int num = (int)number;      //将double类型变量转换为int类型,变量前面加(int)
Console.WriteLine(num);     //在控制台输出结果
Console.ReadKey();


输出结果:10


②、int——>string:转换的变量名.to要转换的类型


int num = 10;                      //int类型变量
string result = num.ToString();    //转换为string类型变量,转换的变量名.to要转换的类型
Console.WriteLine(result);
Console.ReadKey();


输出结果:10


③、string——>int:


方法一、Convert转换工厂


方法

说明

Convert.ToInt16()

转换为整型(short)

Convert.ToInt32()

转换为整型(int)

Convert.ToInt64()

转换为整型(long)

Convert.ToChar()

转换为字符型(char)

Convert.ToString()

转换为字符串型(string)

Convert.ToDateTime()

转换为日期型(datetime)

Convert.ToDouble()

转换为双精度浮点型(double)

Conert.ToSingle()

转换为单精度浮点型(float)


                     注意:用户想转换成什么类型,就to谁


Console.WriteLine("请输入你的语文成绩");         //系统提示用户输入
String strChinese = Console.ReadLine();        //接收用户输入的内容
int chinese = Convert.ToInt32(strChinese);     //接收到的内容位字符串型数据,转换为int类型
Console.WriteLine("您的语文成绩为:" + chinese );//在控制台输出
Console.ReadKey();


输出结果:您的语文成绩为:90


方法二、int.Parse(要转换的字符串变量)


try                                          //try catch语句,尝试下面的语句
{
    Console.WriteLine("请输入一个数字");      //提示用户输入内容
    string strAge = Console.ReadLine();      //接收用户输入内容
    int result = int.Parse(strAge);          //将接收的内容转换为int类型数值
    Console.WriteLine(result * 2);           //输出结果
}
catch                                        //如果出现异常,走下面的语句
{
    Console.WriteLine("您输入的内容无法转换成数字");   //输出错误提示语
}      
Console.ReadKey();


输出结果(异常情况):请输入一个数字

                                      咯咯咯咯

                                      您输入的内容不正确


方法三、int.TryParse(要转换的字符串变量)


Console.WriteLine("请输入一个数字");              //提示用户输入内容
string strAge = Console.ReadLine();              //接收用户输入的内容
int number = 0;
bool result = int.TryParse(strAge, out number);  //定义一个布尔类型变量,进行异常处理
if (result)                                      //如果为trye则走句代码
{
    Console.WriteLine(number * 2);               //输出结果
}
else                                             //否则
{
   Console.WriteLine("您输入的内容不正确");
}
Console.ReadKey();


输出结果(异常情况):请输入一个数字

                                      咯咯咯咯

                                      您输入的内容不正确


二、总结:


int—>double

变量*0.1

double sum= number1 * 0.1 / number2;

double—>int

(int).变量名

int number = (int) num;

int—>string

变量名.toString()

string number = num.toString();

string—>int

Convert.to转换的类型(要转换的变量)

int number = Convert.toInt32(num);

double—>float

(float)小数

float number = (float)0.134;


三、拓展:


C#(int)中Convert、Parse、TryParse的区别:


https://www.cnblogs.com/xu-yi/p/11167410.html


C#(int)中Convert、Parse、TryParse的区别_C#教程_脚本之家

相关文章
|
2月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
37 1
|
7月前
|
存储 C语言
C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
35 1
|
6月前
|
存储 C语言
计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
44 1
|
9月前
对int,char,float,double进行求和操作
对int,char,float,double进行求和操作
108 0
|
10月前
int 类型和double类型数值转换
int 类型和double类型数值转换
|
10月前
|
C#
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
36 0
|
2月前
|
数据采集 分布式计算 数据处理
Dataphin常见问题之与指定类型int不兼容如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
2月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
29 3