看板 Web_Design 關於我們 聯絡資訊
大家好 小弟不材,剛接觸ASP短短2個月 執行ASP程式時發生了除以0的問題 程式錯誤行如下 ThisMachineTime = (ThisInputLength - ThisBeginQuantity)/ThisStandardMachineSpeed 程式段落如下 IF Left(Ltrim(ThisOrderID),1)="S" Then '樣品則機械工時全給 IF ThisInputLength = 0 Then'沒加工米代表沒機械工時了 ThisMachineTime = 0 Else Speed = ThisInputLength / ThisXRun ThisMachineTime = (ThisInputLength - ThisBeginQuantity)/Speed End if Else IF ThisInputLength = 0 Then ThisMachineTime = 0 Else ThisMachineTime = (ThisInputLength - ThisBeginQuantity)/ThisStandardMachineSpeed End if End if 請問一下各位 我該如何做可以使程式繞過除以0的資料 繼續進行下一部份的計算,直接略過除以0的部分 苦惱已久,尚未有解答,求各位鄉民幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.41.18 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1418367485.A.767.html
Peruheru: 除以零表示分母變成零,所以你要跳過的話,檢查分母就好 12/12 15:04
Peruheru: 也就是檢查ThisStandardMachineSpeed這個參數是否為零 12/12 15:05
Peruheru: 不過你要確定跳過分母為零的意義 12/12 15:06
Peruheru: 就是確定分母為零是不是真的可以跳過,還是變成別的算法 12/12 15:14
tw0517tw: 先檢查除數是不是0啊 12/12 15:21
確定是為0了 現在是在想怎麼樣可以繞過去這個會=0資料 苦惱在這=''= ※ 編輯: kasoca (60.249.41.18), 12/12/2014 16:18:46
tw0517tw: 就在那個裡面再加一個if阿... 12/12 16:21
※ 編輯: kasoca (60.249.41.18), 12/12/2014 16:27:33 我把IF加上去後變得更奇怪了 程式直接略過ThisStandarMachineTime 再去計算,結果出來的值都是不對的 才想說問問大家有沒有其他可以繞過去的方法 ※ 編輯: kasoca (60.249.41.18), 12/12/2014 16:29:24 還是很感謝各位鄉民的幫助XD ※ 編輯: kasoca (60.249.41.18), 12/12/2014 16:32:33
tw0517tw: 不然你要繞過甚麼? 12/12 16:53
tw0517tw: 數學上除以零就是無意義 一般來說要先找出為什麼他會0吧 12/12 16:54
tw0517tw: 不然就是那個值的確可能是0 那就else一個另外的算法 12/12 16:55
恩恩 我了解了 那我再去試試看 感謝你=D ※ 編輯: kasoca (60.249.41.18), 12/12/2014 17:20:36