亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于VB的Single運行問題,以下有具體的代碼例子,麻煩幫忙看看!

關于VB的Single運行問題,以下有具體的代碼例子,麻煩幫忙看看!

PIPIONE 2021-07-20 18:15:04
運行一下代碼Private Sub Command1_Click()Dim n As Singlen = 0For s = 1 To 50n = n + 0.1Next sPrint nEnd Sub輸出n的結果竟然是 4.999998 ,不是5才正確嗎還有這個Private Sub Command1_Click()Dim s, x, y As Singlex = 0.1y = 0.1s = x + yPrint sEnd Sub輸出的結果是.200000001490116 ,為什么后面會...?但是我把它改成Private Sub Command1_Click()Dim x, y, s As Singlex = 0.1y = 0.1s = x + yText1.Text = sEnd Sub就正常了。是什么原因??
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

不必糾結這些小問題,只要知道計算機里的浮點數都是用整數弄出來的就OK了。就像沒有精確的3^(0.5)一樣。通常使用的時候,考慮精度問題的話會自己進行控制,比如使用double,或者ground去調節精度。

查看完整回答
反對 回復 2021-07-25
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

浮點數的精度不要斤斤計較,如果想保持精度,使用ROUND函數控制即可。
例如:
Print Round(s,2)這樣結果就是.02

查看完整回答
反對 回復 2021-07-25
  • 2 回答
  • 0 關注
  • 397 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號