全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:172
推到 Plurk!
推到 Facebook!

我是新手也是初學者,請幫看我的程式。

答題得分者是:peter840209
yy92003
一般會員


發表:1
回覆:3
積分:0
註冊:2017-09-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2017-11-22 09:20:45 IP:220.130.xxx.xxx 未訂閱
我是要用在主控台應用程式的,
以下是我的程式,不知是哪裡出錯?
0.8和0.7以及0.6都會顯示視力正常,
0.5以下開始才會顯示近視。
敬請指教~

[code vb]
Sub Main()
Dim A As Integer = 0
Console.WriteLine("請輸入數值:")
A = Console.ReadLine()

If A < 0.8 Then

Console.WriteLine("近視")

Else
Console.WriteLine("視力正常")
End If
Console.ReadLine()
End Sub
End Module
[/code]
peter840209
一般會員


發表:1
回覆:4
積分:6
註冊:2017-09-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2017-11-22 11:19:26 IP:210.242.xxx.xxx 未訂閱
我沒寫過.net
但是if的部分是指後面條件成立吧
<0.8就印出近視
所以就是0.8以上才會印出視力正常吧
yy92003
一般會員


發表:1
回覆:3
積分:0
註冊:2017-09-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2017-11-22 11:28:58 IP:220.130.xxx.xxx 未訂閱
是啊!正常來講是<0.8都要是近視,結果顯示視力正常,
0.5以下才會顯示近視。
我真不知道哪兒錯了?
peter840209
一般會員


發表:1
回覆:4
積分:6
註冊:2017-09-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2017-11-22 11:38:21 IP:210.242.xxx.xxx 未訂閱
你的A設成int了
很多語言裡面整數的話會無條件捨去的
.net我就不清楚了
我猜是4捨5入吧
所以你打0.5以下會判斷成0
0.5以上會判斷成1
我也不太清楚
你試試看把A設成float或是double好了
yy92003
一般會員


發表:1
回覆:3
積分:0
註冊:2017-09-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2017-11-22 12:02:05 IP:60.248.xxx.xxx 未訂閱
真的是這個原因耶!
太謝謝您了!


===================引 用 peter840209 文 章===================
你的A設成int了
很多語言裡面整數的話會無條件捨去的
.net我就不清楚了
我猜是4捨5入吧
所以你打0.5以下會判斷成0
0.5以上會判斷成1
我也不太清楚
你試試看把A設成float或是double好了
peter840209
一般會員


發表:1
回覆:4
積分:6
註冊:2017-09-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2017-11-22 12:07:53 IP:210.242.xxx.xxx 未訂閱
我剛剛去查了一下
.net內的小數轉整數的規則不是四捨五入
而是四捨六入五成雙
https://zh.wikipedia.org/wiki/奇進偶捨
可以去看看喔
我也學到了新的東西
yy92003
一般會員


發表:1
回覆:3
積分:0
註冊:2017-09-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2017-11-22 13:08:47 IP:60.248.xxx.xxx 未訂閱
嗯嗯!
謝謝您的熱心協助!

===================引 用 peter840209 文 章===================
我剛剛去查了一下
.net內的小數轉整數的規則不是四捨五入
而是四捨六入五成雙
https://zh.wikipedia.org/wiki/奇進偶捨
可以去看看喔
我也學到了新的東西
系統時間:2017-12-14 2:26:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!