/ / Jak sprawdzić, czy numer jest matematycznie niezdefiniowany lub nieokreślony w vb.net - vb.net, sprawdzanie poprawności, nieokreślony

Jak sprawdzić, czy liczba jest matematycznie niezdefiniowana lub nieokreślona w vb.net - vb.net, sprawdzanie poprawności, nieokreślony

W jednym z walidacji mojego programu, muszę sprawdzić, czy wynikowy numer przechowywany w sesji jest niezdefiniowany (jest to spowodowane jedną z formuły może mieć dywidendę zero).

To, co do tej pory próbowałem (i może to być bardzo nieefektywny sposób robienia tego) jest następujące:

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

Pomyślałem, że jeśli liczba przechowywana w sesji jest nieokreślona lub niezdefiniowana, funkcja TryParse zakończy się niepowodzeniem. Jak myślisz, jaki jest lepszy sposób przechwytywania niezdefiniowanych liczb przechowywanych w obiekcie?

P.S. Niestety, nie mogę zweryfikować funkcji, z której wywodzi się sesja ("wynik"). Dzieje się tak dlatego, że inny moduł utworzony przez innego kodera właśnie przekazuje to do modułu I 'm coding.

Odpowiedzi:

2 dla odpowiedzi № 1

System.Decimal nie ma NaN lub nieskończoności, dzięki czemu możesz go użyć zamiast:

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

Spowoduje to False gdyby Session("result") jest Double.NaN, .PositiveInfinity lub .NegativeInfinity