Глюк в VB.NET?

Sasha3091
Уже с Приветом
Posts: 1369
Joined: 05 Sep 2008 01:22

Глюк в VB.NET?

Post by Sasha3091 »

Только что поймал такой глюк

Code: Select all

 Dim a As String = "1.25"

        If IsDate(a) Then
            a = CDate(a).ToShortDateString
        End If      
        
На выходе получаем 1/25/2017.

Это как???
User avatar
thinker
Уже с Приветом
Posts: 26853
Joined: 29 Aug 2000 09:01

Re: Глюк в VB.NET?

Post by thinker »

CDate подразумевает формат типа: "Apr 6, 2003"
а не "1.25" как у вас
All rights reserved, all wrongs revenged.
Sasha3091
Уже с Приветом
Posts: 1369
Joined: 05 Sep 2008 01:22

Re: Глюк в VB.NET?

Post by Sasha3091 »

и тем не менее - оно работает, хотя не должно, почему-то .net считает, что IsDate("1.25") = True
User avatar
thinker
Уже с Приветом
Posts: 26853
Joined: 29 Aug 2000 09:01

Re: Глюк в VB.NET?

Post by thinker »

работает потому что (подчеркнуто):

IsDate returns True if Expression is of the Date Data Type or can be converted to Date; otherwise, it returns False.

https://msdn.microsoft.com/en-us/librar ... s.90).aspx
All rights reserved, all wrongs revenged.

Return to “Работа и Карьера в IT”