2012年11月7日 星期三

不廢話! 奮鬥吧! 成為獨當一面的.net工程師!(2.2) 整數 int 與 浮點數 float,double

天氣越來越涼爽了實在是很好睡

但是很神奇的是睡醒後完全沒有休息到的感覺還越來越累

然後就在這個moment我開始頭痛了

我想這是神賜給人們的禮物之一 -  瀘過性病毒

這個小壞蛋總是能趁你不注意的時候任意的進去你的身體

而你能做的只有哭跟叫

吃了感冒藥之後還會讓你整天都沒辦法思考

要是沒有了這種病毒

我還真不知道要怎樣維持醫生這個行業以保持經濟的平衡

不過隨著醫療糾紛越來越多了我想過個幾年我們也沒有醫生可以看了


就讓我們在我頭痛這個絕佳的時刻來介紹怎麼使用整數與浮點數吧

首先 先宣告一個int 我們叫他number

int number;

基本上我們可以對它做任何跟數字有關的事情

不過在我們要使用它之前要先給他一個值

像是

number=12;

我們也可以做運算

像是:

number=4+6;
number=3*5;
number=7/3;

這種情況都可以


另外提一下

你要拿來接受的變數必需放在左邊

number=2;代表number的值會等於2

而你如果用2=number的話編譯器會在這行的某些地方加上紅色底線

然後你滑鼠移上去他還會偷罵你(只是語氣比較溫和了一些)

另外

變數與變數也可以做運算

因為我們已經有一個number了

所我們再設number1,跟total來玩給大家看

       int number;
        int number1 = 3;

        number = 5;

        int total = number * number1;

像這樣

這代表了我們先設一個名為number的整數但是我們沒有給他數值

接者我們宣告一個數值為1的整數名為number1

然後我們讓number的值等於5

最後我們宣告一個名為total的整數

而它的值是number乘以number1

接下來我們把他放進我們之前的button事件裡

protected void btnConfirm_Click(object sender, EventArgs e)
    {

        int number;
        int number1 = 3;

        number = 5;

        int total = number * number1;

        welcome = " 歡迎你";
        lblWelcome.Text = hello+txtName.Text+welcome;
    }

像這樣

然後我們把lblWelcome.Text的值換成這樣

 lblWelcome.Text = total;

之後你就會發現total的底下出現了紅線

而把滑鼠移上去他會跟你說無法將int隱含轉換為string這種外星人的語言

我們白話點來講

就是說lblWelcome裡面的文字是string

而你現在嚐試把裡面的文字換成數字

看起來很合理

但是電腦沒有那麼聰明直接把數字換成文字

記住 幾乎任何顯示在你面前的文字都是string格式

那我們該怎麼把數字塞到string裡面呢?

其實很簡單

在C#裡面 你只需要這樣就好了

 lblWelcome.Text = total.ToString();

這樣編譯器就不會再來煩你了

而這簡單的方法就在你看不到的地方偷偷的把數字換成string了

接著按F5執行看看

按按鈕前

按按鈕後


現在我們讓原來的label顯示出我們的計算結果了

停止偵錯

接下來我們改成這樣

int total = number / number1;

改成用除的

讓total的值變成number除以number1

也就是情感上我們知道的5除以3

你的答案可能會是3分之5

不過你先改完再按F5偵錯看看

然後你會發現結果變成這樣了


怎麼辦怎麼辦

電腦壞掉了嗎

怎麼有5除以3會變1的啦

如果你電腦是7天內買的

不要急著去退費

還記得嗎

int是整數型態

所以我們使用除法只會得到他的商值

也就是說

5除以3等於1餘2

我們只能得到那個商數1

也許你會想說

可是我想要小數點啊

沒問題

停止偵錯

把你所有的int宣告改成float或是double試試

protected void btnConfirm_Click(object sender, EventArgs e)
    {

        double number;
        double number1 = 3;

        number = 5;

        double total = number / number1;

        welcome = " 歡迎你";
        lblWelcome.Text = total.ToString();
    }

接著你再按偵錯去看結果

應該會發現數值正確了

不過你可能會覺得他還不夠精確

沒關係 有需要的話自己可以再研究看看方法

我們先不提這個


因為頭真的很痛...

所以我們下次再談字串跟數字間轉換的問題

再會orz

沒有留言:

張貼留言