在C#中進行類型轉換

來源:互聯網
上載者:User

一、簡單的數實值型別轉換

在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:
  1. Class Demo   
  2. {   
  3.             static void Main(string [] args)   
  4.            {   
  5.                     double score = 85.6;   
  6.                     int  myInt;   
  7.                     float myFloat;   
  8.                     string myString;   
  9.   
  10.                     Console.WriteLine("原始類型為double:{0}",score);   
  11.   
  12.                      myInt = Convert.ToInt32(score);   
  13.                      myFloat = Convert.ToSingle(score);   
  14.                      myString = Convert.ToString(score);   
  15.   
  16.                     Console.WriteLine("轉換後:");   
  17.   
  18.                     Console.WriteLine("int /t float /t string");   
  19.                        
  20.                      Console.WriteLine("{0}/t{1}/t{2}",myInt,myFloat,myString);   
  21.            }   
  22. }  

運行結果:

int     float    string

86     85.6    85.6

值得注意的是在前面顯式類型轉換時,將double類型顯式轉換為int類型時,結果是85,而用Convert類進行轉換時,結果卻是86。結論是利用顯式類型轉換時,將忽略小數位,就相當於利用SQL中的函數floor()效果一樣。而利用Convert類進行轉換是,將採用四捨五入的方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.