關於2個數值相減

請問各位大大,這是我遇到的問題,特地寫成一個小程式,為什麼2個數值一直相減的時候

到5減5時,卻不會等於0.....進而導致無窮迴圈,5減5不是應該就等於0嗎?

請各位大大幫小弟解答一下,謝謝

 

Untitled 1.vi

我的版本老了沒有辦法開你的程式,可以請你貼圖嗎?

 

PS.我的直覺想到不曉得你的問題會不會和以下類似

http://stdb.org/forum/forum_posts.asp?fid=23&tid=839

ancle40162.4896875

嗯嗯,好的,圖片如下

 

![](upload://qy8JNE6zQsBygeaSrQmahmdM4XR.jpeg)

你的問題和我上述po的一樣,相減後數值不會為0,而是一極小值,請參考下圖,其中有highlight執行的結果

![](upload://g9RSJJqYCnPSU37AXBQllKzLprf.jpeg)

那這有方法可以解決嗎?

 

如果你有看上述連結的話你就會了解了

我試過了,可是它還是會多跑一次...因為當2數相同要相減時,它並不會等於0...而是等下一次變-0.1才會停止= =,

因為我要的是.....在x-y=0的時候要停止迴圈。

所以說這多跑一次的情形沒辦法改嗎?

 

![](upload://uvR9Q26SNfiCZGoqF6M5xpeCvtV.jpeg)

 

已經解決了嗎?

 

您實際上是要在i=49的時候就停止迴圈是嗎?

如果固定就用5,並且每次+0.1的話,我是就第49次所算出來的值,當成是判斷條件式,這樣子的話,就會少算一次,並且停止迴圈,您參考一下範例,看看是不是符合您的需求

2數相減.vi

因為圖片無法上傳,故用你的程式說明;作法很簡單,只要將5及0.1各乘以10即可,你可以試試看i=49應該就會停止