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