/ / Ako skontrolovať, či je číslo matematicky nedefinované alebo neurčité v vb.net - vb.net, validácia, neurčité

Ako skontrolovať, či je číslo matematicky nedefinované alebo neurčité v vb.net - vb.net, validácia, neurčité

V jednom z mojej validácie programu musím skontrolovať, či je výsledné číslo uložené v relácii nedefinované (je to spôsobené jedným z vzorca môže mať nulovú dividendu).

To, čo som doteraz skúšal (a môže to byť veľmi neefektívny spôsob, ako to urobiť) je toto:

  Dim x As Double
Dim valid As Boolean = True
Try
Double.TryParse(Session("result"), x)
Catch ex As Exception
valid = False
End Try

Myslím, že ak je číslo uložené v relácii neurčité alebo nedefinované, funkcia TryParse zlyhá. Čo si myslíte, že je lepší spôsob, ako zachytiť nedefinované čísla uložené v objekte?

PS: Bohužiaľ, nemôžem overiť funkciu, z ktorej bude pochádzať relácia ("výsledok"). Je to preto, lebo iný modul vytvorený iným kodérom len prechádza do modulu, ktorý som kódoval.

odpovede:

2 pre odpoveď č. 1

System.Decimal nemá NaN alebo nekonečno, takže ho môžete použiť:

Dim valid = Decimal.TryParse(Session("result").ToString, x)

Bude to mať za následok False ak Session("result") je Double.NaN, .PositiveInfinity alebo .NegativeInfinity