C#中(int)、Conver.Toint32()、int.Parse()三種類型轉換方式的區別與聯系--C#基礎知識
阿新 • • 發佈:2017-09-09
實例 文章 小數位 其他 返回 system roman static logs
自己也是剛學習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();
}
}
}
文章系屬個人原創,請尊重原創,轉載請註明出處!
文章難免會有錯誤,還望各位多多海涵,另外希望技術專家們多多指出不足之處,兄弟得以改進!
C#中(int)、Conver.Toint32()、int.Parse()三種類型轉換方式的區別與聯系--C#基礎知識