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ď č. 1System.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