必威体育Betway必威体育官网
当前位置:首页 > IT技术

C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识

时间:2019-10-25 07:42:10来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

convert.toint32

自己也是刚学习C#程序设计语言,总结了一点知识点,想分享给大家。毕竟刚学习这门语言,学得不深,哪里如果有错误,请帮个忙指出一下哈,谢谢!

1、(int)可用于单精度、双精度等其他数值类型的转换(到整型int),不能用于转换string类型,例如:

  这里用(int)转换string是不可以的,系统会报错,程序是不能运行。

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            string myString="520";
            int myint;
            myint = (int)myString;
            console.WriteLine(myint);
        }
    }
}

  下面例子是转换单精度类型float,这是可以的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            int x;
            float y=1.2f;
            x = (int)y;
            Console.WriteLine(x);
            Console.ReadKey();
        }
    }
}

  使用(int):Double或Float被转换成int类型,小数部分不进行四舍五入,结果是取整的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //double转换为int,使用Convert.ToInt32()
            double myInt=1.6;
            string myString = "123.45";
            //string myString="abcd";
            //string myString = "12345";
            int intResult;
            string stringResult;
            intResult = (int)myInt;
            Console.WriteLine(intResult);
            Console.Read();
        }
    }
}

2、Convert.ToInt32() 可以转换字符串类型,但是字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。也可转换值类型,如Double和Float。

  字符串为"123.45",系统会报错:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            int myInt;
            string myString = "123.45";
            //string myString="abcd";
            //string myString = "12345";
            int intResult;
            string stringResult;
            intResult = Convert.ToInt32(myString);
            Console.WriteLine(intResult);
            Console.Read();
        }
    }
}


  使用Convert.ToInt32():double或float被转换为int,小数部分可以是四舍五入的。规则是:整数位如果是:0-4:直接舍掉小数位。若数值为5.6,规则是:整数位如果为5,要返回临近偶数()结果是6  整数位为6-9是,都要进位。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //double转换为int,使用Convert.ToInt32()
            double myInt=1.6;
            string myString = "123.45";
            //string myString="abcd";
            //string myString = "12345";
            int intResult;
            string stringResult;
            intResult =Convert.ToInt32(myInt);
            Console.WriteLine(intResult);
            Console.Read();
        }
    }
}

//输出结果为2

3、int.Parse()在只能转换string类型,不能是其他,例如double到int这些数值类型是不可以的。另外,在转换string时,和Convert.ToInt32() 同,字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            int myInt;
            //string myString = "123.45";
            //string myString="abcd";
           string myString = "12345";
            int intResult;
            string stringResult;
            intResult = int.Parse(myString);
            Console.WriteLine(intResult);
            Console.Read();
        }
    }
}

  double-->int不行

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //double转换为int,使用Convert.ToInt32()
            double myInt=1.6;
            string myString = "123.45";
            //string myString="abcd";
            //string myString = "12345";
            int intResult;
            string stringResult;
            intResult = int.Parse(myInt);
            Console.WriteLine(intResult);
            Console.Read();
        }
    }
}

4、Conver.ToInt32()可以将string=null转换为0,而(int)、int.Parse()不能对空字符串进行转换,实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            String myString = null;
           String resultString;
            int myInt;
           // myInt = (int)myString;//不能转换null
        myInt = Convert.ToInt32(myString);//将null转换为0
           // myInt = int.Parse(myString);//不能转换null
            Console.WriteLine(myInt);
            Console.Read();

        }
    }
}

5、int类型转换为string 类型,使用强制类型转换符,可用Convert.ToString()去转换

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //强制括号转换只能转换数值类型的
            int myInt = 3;
            string stringResult;
            stringResult=(string)myInt;
            Console.Read();
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //强制括号转换只能转换数值类型的
            int myInt = 333;
            string stringResult;
            //stringResult = Convert.ToString(myInt);
            stringResult = myInt.ToString();
            Console.WriteLine(stringResult);
            Console.Read();
        }
    }
}

 文章系属个人原创,请尊重原创,转载请注明出处!

 文章难免会有错误,还望各位多多海涵,另外希望技术专家们多多指出不足之处,兄弟得以改进!

文章最后发布于: 2017-09-10 15:05:59

相关阅读

全能视频格式转换器 Leawo Video Converter

链接:https://pan.baidu.com/s/1JVFwoNozO2CocyAndZvfjQ提取码:z1q8作为媒体转换器套件,Leawo Total Media Converter Ultimate 允许

慎用USES_CONVERSION 使用和注意

USES_CONVERSION的使用和注意USES_CONVERSION是用来转换类型的,比如我们很常见的问题:在Socket编程时候,我们的IP地址从界面上输进去

SqlServer Convert Date

CONVERT

CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明: 此样式一般在时间类型(datetime,smalldat

当 CharacterEncodingFilter 遇到 HttpMessageConvert

先解释下几个相关的接口: /** * 表示 HTTP 请求消息和响应消息的基本接口 * 可以通过 getHeaders() 获取相应的 HttpHeaders

分享到:

栏目导航

推荐阅读

热门阅读