Что означает # в этом утверждении?

Преобразование приложения Access DB в PHP/MySQL, и у меня возникли проблемы с некоторым синтаксисом. Не могу понять, что такое # в этом утверждении.

Я просмотрел всю документацию по Access, которую смог найти.

// VBA

    If (EntryHash > 9999999999#) Then
    EntryHash = EntryHash - 10000000000#
    End If

// PHP

    if ($BatchEntryHash > 9999999999#) {
    $BatchEntryHash -= 10000000000#;
    }

Нет сообщения об ошибке. Еще завершаю конвертацию.


person Eric Blaser    schedule 22.05.2019    source источник


Ответы (1)


VBA поддерживает ОЧЕНЬ старые унаследованные остатки исходных языков BASIC, которые поставлялись почти с каждым ПК в начале 1980-х годов.

Таким образом, вы можете использовать выражения или даже использовать переменные без оператора declare (dim). (так что, если нет явной опции, вы можете использовать переменные на лету, не объявляя их. Они принимают тип данных, если вы следуете за переменной (или выражением) с этими устаревшими (долговременными) символами, которые были перенесены с самых ранних дней персональных компьютеров.

Итак, у нас есть:

Integer %   2 bytes –32,768 to 32,767
Long &      4 bytes –2,147,483,648 to 2,147,486,647
Currency @  8 bytes –922,337,203,477.5808 to 922,337,203,685,477.5807
Single !    4 bytes  –3402823E38 to –1.401298E–45 
              or 1.401298E–45 to 3.402823E38
Double #    8 bytes –1.79769313486232E308 to –4.94065645841247E–324 or 
                     1.79769313486232E308 to 4.94065645841247E–324
String $         1 to 65,400 characters
Variant string    0 to 2 billion characters.

Decimal        -79,228,162,514,264,337,593,543,950,335 to
                79,228,162,514,264,337,593,543,950,335 or 
                –7.2998162514264337593543950335 to 
                7.9228162514264337593543950335

Я не думаю, что есть символ для десятичных типов данных.

Редактировать

Итак, в вашем случае знак фунта означает двойное значение с плавающей запятой.

person Albert D. Kallal    schedule 22.05.2019
comment
Десятичное число всегда является вариантом, поэтому эти символы к нему не применяются (также не может Dim a As Decimal). У нас есть LongLong ^ (известно, что он вызывает путаницу, например, 2^ - 1), поэтому эти вещи активно обновляются для новых типов. - person Erik A; 23.05.2019