Типы VBA по умолчанию для литералов? - PullRequest
0 голосов
/ 23 февраля 2020

Если я использую как 2.214 или "строку" в качестве литеральных значений в моем коде, то какими будут их типы по умолчанию? 2,214 будет двойным, а "строка" будет фиксированной длины строки? или откуда знает компилятор?

1 Ответ

0 голосов
/ 23 февраля 2020

Компилятор знает тип данных, основываясь на том, как вы пишете в коде 2.214.

Option Explicit

Sub TestIt()
    Dim v As Variant
    v = 2.214
    Debug.Print TypeName(v)
    v = "2.214"
    Debug.Print TypeName(v)
End Sub

Но, к сожалению, lof из неявного приведения типа данных выполнен. Так что этот код также действителен

Dim d As Double
d = "2.214"

Но учтите, что строка «2.214» преобразуется в двойное число, и результат может зависеть от настроек локали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...