До недавнего времени у меня было впечатление, что операция CDbl(x)
в VB.NET по сути была приведением (то есть VB-эквивалент (double)x
в C #); но недавнее открытие показало, что это не так.
Если у меня есть эта строка:
Dim s As String = "12345.12345-"
И я делаю это:
Dim d As Double = CDbl(s)
d
будет установлено в значение -12345.12345
! Не поймите меня неправильно, в моем конкретном случае это удобно; но я должен признать, что я смущен относительно , почему это работает. В частности, я запутался, потому что:
Double.Parse
не работает с вышеуказанным вводом.
Double.TryParse
не работает.
Convert.ToDouble
не работает.
Как CDbl
такой умный?