一、簡單的數實值型別轉換
在JAVA中,我們知道存在兩種轉換形式,自動類型轉換和強制類型轉換,在C#中,我們可以把這兩種類型轉換稱之為隱式類型
轉換和顯式類型轉換。轉換的方法和JAVA中一樣。
1.隱式類型轉換
對於數實值型別,類型A的取值範圍只要完全包含在類型B中,那麼類型A就可以隱式轉換為類型B
例如整型數值(int)A就可以隱式轉換為浮點型(double).
2.顯式類型轉換
與隱式轉換相反,只要把取值範圍大的轉換為取值範圍小的,就需要用到顯式類型轉換。
double score = 85.5;
int add = 2;
int finalScore = (int)score + add;
以上這兩種轉換方式主要適用於數實值型別之間的轉換。
二、數實值型別與字串之間的轉換
上一種方式主要適用於數實值型別之間的轉換。
那麼數實值型別與字串類型之間怎麼轉換呢?
1.字串轉換為數值型
在C#基礎課程中,我們知道了從控制台接受數實值型別的方法如下:
int score = int.parse(Console.ReadLine());
當我們要把字串轉換為數實值型別時,可以使用Parse()方法。不同的數實值型別都有自己的Parse()方法。
字串轉換為整型
int.Parse(string);
字串轉換為單精確度浮點型
float.Parse(string);
字串轉換為雙精確度浮點型
double.Parse(string);
注意:要轉換的字串必須是數位有效運算式。
2.數值型轉換為字串
將數實值型別轉換為字串需要使用到ToString()方法
int age = 20;
string myAge = age.ToString();
三、使用Convert類進行類型轉換
上面的Parse()方法是用來將字串類型轉換類數實值型別的,我們再來認識一個更厲害的--Convert類,它能夠在基本類型之間相互轉換。Convert類為每一種都提供了一個靜態方法。
Convert.ToInt32(); //轉換為整型
Convert.ToSingle(); //轉換為單精確度浮點型
Convert.ToDouble(); //轉換為雙精確度浮點型
Convert.ToString(); //轉換為字串類型
Convert類為每種類型轉換都提供了一個靜態方法,所以可以直接通過類型.方法名調用。
舉個例子:
Code:
- Class Demo
- {
- static void Main(string [] args)
- {
- double score = 85.6;
- int myInt;
- float myFloat;
- string myString;
-
- Console.WriteLine("原始類型為double:{0}",score);
-
- myInt = Convert.ToInt32(score);
- myFloat = Convert.ToSingle(score);
- myString = Convert.ToString(score);
-
- Console.WriteLine("轉換後:");
-
- Console.WriteLine("int /t float /t string");
-
- Console.WriteLine("{0}/t{1}/t{2}",myInt,myFloat,myString);
- }
- }
運行結果:
int float string
86 85.6 85.6
值得注意的是在前面顯式類型轉換時,將double類型顯式轉換為int類型時,結果是85,而用Convert類進行轉換時,結果卻是86。結論是利用顯式類型轉換時,將忽略小數位,就相當於利用SQL中的函數floor()效果一樣。而利用Convert類進行轉換是,將採用四捨五入的方法。