C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别

int.TryParse,Convert.ToInt32,(int)

这几种类型在将浮点类型转换整数时是有差别

Convert.ToInt32则会进行四舍五入

int.TryParse只能转换整数,即浮点类型全部会返回0

(int)不会进行四舍五入,只取整数部分,小数点部分完全舍弃

using  System;
public   class  DoubleToInt
{
     public   static   void  Main()
    {
        Test_DoubleToInt(
0.4
);
         Test_DoubleToInt(
0.5
);
        Console.ReadKey();
    }
     static   void  Test_DoubleToInt( double  _testNumber)
    {
         int  _i= 0
;
         for ( int  i= 0 ;i< 10 ;i++)
        {
             if (i!= 0
){
                _testNumber+= 1
;
            }
            Console.WriteLine(
string .Format( "(int){0}={1}" ,_testNumber,( int
)(_testNumber)));
            
            Console.WriteLine(
string .Format( "Convent.ToInt32({0})={1}"
,_testNumber,Convert.ToInt32(_testNumber)));
             //int.TryParse只有转换整数类型,其他返回为0
             int
.TryParse(_testNumber.ToString(),  out  _i);
            Console.WriteLine(
string .Format( "int.TryParse({0})={1}"
,_testNumber,_i));
        }
        Console.WriteLine(
string .Empty);
    }
}

http://www.cnblogs.com/Dely/p/3791951.html

http://stackoverflow.com/questions/11431793/convert-toint32-rounds-to-the-nearest-even-number

http://stackoverflow.com/questions/311696/why-does-net-use-bankers-rounding-as-defaul

C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别

时间: 2024-10-07 06:07:53

C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别的相关文章

int.TryParse &amp; Convert.ToInt32

经过测试,这两个的性能几乎无差别: 除非是要转换的对象为null,Convert.ToInt32 才会快很多: 所以,还是封装个 int.TryParse 好用点,不用处理空字符串等异常情况:

C# 中 int、Convert.ToInt32()、int.Parse()的区别

int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; Convert.ToInt32()适合将Object类型转换为int型; Convert.ToInt32()和int.Parse()的细微差别: 对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常. https:

C#的(int) /int.Parse()/int.TryParse()/Convent.ToInt32()的区别--推荐使用Int.TryParse()

一.(int)变量名[强制类型转换]:  该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误. 该方式对于浮点数会做无条件舍去,失去精确度.当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错.最后切忌的一点,千万不要用来处理char类型

C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别

1.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); 2.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; 3.Convert.ToInt32()适合将Object类型转换为int型; 4.Convert.ToInt32()和int.Parse()的细微差别: 对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值(NULL).数字类型(包含float,double,int,long等)和字符串(

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 &lt;转&gt;

作者:Statmoon 出处:http://leolis.cnblogs.com/ 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值

int.Parse()、int.TryParse()和Convert.ToInt32()的区别

1:int.Parse(一个参数)        此参数必须满足: 1 只能是字符串: 2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型. 2:int.TryParse(参数a,参数b); 此方法可以看做是int.Parse()方法的升级,即做了一个异常处理,如果出现异常则返回false,并且将输出参数返回0: 注意,参数a, 也必须是字符串或null即可 例如: int b; int.TryParse("54.1",out b); Respons

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别以及ToString()和Convert.ToString()的区别

在计算关于“钱”的各种占比时,我遇到了各种问题. 例如: double a=1.4035; Console.WriteLine($"0.##输出:{a.ToString("0.##")}");   ①Console.WriteLine($"F2输出:{a.ToString("F2")}"); ②Console.WriteLine($"0.00输出:{a.ToString("0.00")}"

Int.Parse()、Convert.toInt32()和(int)区别

通过网上的查询从而了解了Int.Parse().Convert.toInt32()和(int)区别. 一.定义上的差别 int类型表示一种整型,.NET Framework 类型为 System.Int32.而是用(int)表示显式强制类型转换,当从 int 类型到 long.float.double 或decimal 类型,称为隐式转换:当从从double 或decimal.float.long.int类型逐级转换时,称为显式强制类型转换.(对long 类型或是浮点型到int 类型的显式强制转