C#数据类型的转化

C#数据类型的转化

简述:类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式隐式类型转换与显式类型转换

一、隐式类型转换

隐式类型转换 --- C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。

二、显式类型转换

显式类型转换 --- 即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

namespace TypeConversionApplication
{
    class ExplicitConversion
    {
        static void Main(string[] args)
        {
            double d = 5673.74;
            int i;

            // 强制转换 double 为 int
            i = (int)d;
            Console.WriteLine(i);
            Console.ReadKey();

        }
    }
}

三、C#中方法类型转换

3.1、C#内置后缀式类型转换

备注:上述内置类型转化函数除了ToString方法最常用外,其它基本在开发中都不怎么使用,如需使用都用的是covert中的转化方法。

3.2、Convert方法与xxx.Parse方法

Convert方法 功能描述
Convert.ToInt32() 转换为整型(int)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime() 转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Conert.ToSingle() 转换为单精度浮点型(float)

Parse方法 功能描述
int.Parse(string类型变量名) 转换为整型(int)
int.TryParsestring s, out int result 转换为整型(int)
Int32.Parse 转换为整型(int)
Double.Parse() 转换为双精度浮点型(double)
3.2.1、Convert 与 Parse 区别

实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值(NULL)、数字类型(包含float,double,int,long等)和字符串(string)这3类。以下以Convert.ToInt32()、int.Parse() 、int.TryParse()为例介绍三者之间的区别。


1、int.Parse(string类型变量名) 该方式是将数字内容的字符串转为int类型

1、参数必须为字符串型,如果字符串内容不是数字或不是整形,则抛出FormatException异常;

2、如果字符串内容为空或者null时,则抛出ArgumentNullException异常;

3、如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常

4、使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内


2、int.TryParse(string s, out int result) 该方式也是将数字内容的字符串转为int类型

1、该方式比int.Parse优越的地方,就是它不会出现异常。如果转换成功返回 true,如果转换失败返回 false。很明显,最后一个参数为输出值,如果转换失败,输出值为 0;如果转换成功,则输出相应的值。

//例如:1.将字符串“12345”转换成数值数据12345,实现如下:
bool=ryParse("12345",int result);
bool=true;
result=12345;   //成功

3、Convert.ToInt32()

1、该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误。

2、该方式对于浮点数会做四舍五入。

3、该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。

     Convert.ToInt32("12345");  //将字符串“12345”转换成数值数据12345

     Convert.ToInt32(3.14);  //将小数型“3.14”转换成整数型数据  !!!!int.Parse("4.5") 异常

     Convert.ToInt32(‘true‘); //将字符型‘true‘转换成布尔型数据

3.3、 int与string转化

  • int转string
    int a = 15;
    string s1 = a.ToString();
    string s2 = Convert.ToString(a);

存在问题:这两种转换方法有何差别?

1、ToString()函数能用来完成数值型数据向字符串类型的转换

2、Convert.ToString()则是强制转换,无论数据是什么样类型的都可以通过使用这个方法将其转换成字符串类型的。

3、Tostring也可来完成字符向字符串类型的转换,大体上两者的功能是相同的。

4、tosring()方法不接受空的参数,否则编译报错。Convert.tostring方法支持空对象。


  • string转int
   string s = "18";
   int a1 = int.Parse(s);
   int a2; int.TryParse(s, out a2);
   int a3 = Convert.ToInt32(s);
  • 总结

1、Convert对int与string进行来回转化,并且可以指定转化的进制



2、int转化为string,可以使用ToString方法或 Convert.ToString()



3、String转化为int,可以使用int.Parse或者int.TryParse方法。


备注:为什么没有string.Parse和string.TryParse方法?不需要,ToString就可以了。

原文地址:https://www.cnblogs.com/retry/p/9451842.html

时间: 2024-08-29 01:39:42

C#数据类型的转化的相关文章

Java的基本数据类型与转化

  1.1 Java为什么需要保留基本数据类型 http://www.importnew.com/11915.html 基本数据类型对大多数业务相关或网络应用程序没有太大的用处,这些应用一般是采用客户端/服务器模式,后端有数据库.但是,基本数据类型对以数值计算为主的应用程序来说是必不可少的. 自从1996年Java发布以来,基本数据类型就是Java语言的一部分,因此Java是双类型的系统,即具有基本数据类型和对象类型,简称基本类型和对象.Java中有8个预定义的基本类型,每一个基本类型都有一个对

java基础:数据类型的转化

+是一个运算符, 做数据的加法. boolean类型不能转换为其他类型. 默认转换 byte,short,char-int-long-float-double byte,short,char相互之间补转换,他们参与运算首先转换为int类型 强制转换(从大的数据类型转化为小的数据类型) 目标类型 变量名=(目标类型)(被转换的数据); 注意: 不要随意使用强制转换,隐含损失精度的问题.

js 数据类型和转化

运行JavaScript 使用 JavaScript:  前缀构造执行JavaScript的url 使用<script>元素来包含JavaScript代码 导入js文件 <script  src='test.js' type='' >  </script> 定义变量的方式: 显式定义 :  var a 隐式定义 : 直接给变量赋值 a = 'hello' 类型转换: var a = "3.14" a - 2 = 1.14   # 字符串没有减法运算,

数据类型的转化(注意细节)+负数二进制算法

数据类型的转换要注意的细节: 凡是byte.short.char数据类型数据在运算的时候都会自动转换成int类型的数据再运算 多个数据类型的数据在运算的时候取决于大的数据类型 例子: byte a1 = 1; byte a2 = 2; byte a3 = (byte)(a1+a2); System.out.println(a3); //输出3 System.out.println('a' + 1 ); //输出98 一个整数没有加上任何标识的时候,默认是int类型的数据. 负数二进制算法 负数在

QT数据类型的转化总结

QT 中的数据类型有很多的,在写代码的过程中难免会遇到 数据类型的转换. 1.QString转QByteArray QByteArray byte;QString string;byte = string.toLatin1(); 2.QByteArray转QString QByteArray byte;QString string;string = QString(byte); 3.QString转String QString string; std::string str; str = str

JS变量和数据类型及其转化

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 字面量就是常量,不可变的量 // 变量,用var 声明变量 // JS底层保存标识符实际上采用的是Unicode编码,所以理论上

javascript对象转化为基本数据类型规则

原文:Object-to-Primitive Conversions in JavaScript 对象转化为基础数据类型,其实最终都是用调用对象自带的valueOf和toString两个方法之一并获得其返回值,作为其基础数据类型. 基础数据类型包括这么几种:null, undefined, number, boolean, string 内部实现机制 但是什么时候调用valueOf,什么时候调用toString,却困惑了很长一段时间. var obj = { toString: function

JS基础-数据类型转化和字符串常用操作

模块回顾 1.数据类型的转化.数-字,字-整,字-浮. 2.字符串常用操作.10种. 一.数据类型的转化 通过"+"号或toString()方法将数值转换成字符串. 2.通过parseInt()将字符串转换成整型. 3.通过parseFloat()将字符串转换成浮点型. <html> <head> <meta charset="utf-8"> <title>数据类型的转换</title> <scrip

数据类型、操作符

六种数据类型:object.string.null.undefined.boolean.number: 任何数据类型+“”都会转化成字符串: null与undefined虽然都是空,null的typeof是object,undefined的typeof是undefined: number的转换有pareseInt和pareseFloat两种,前者是转化成整数,后者是转化是小数,不过它们在解析数字加字符串时,遇到了字符串就会终止解析: var num = 1.2345:num2 =  num.to