【问题标题】:What does the # mean in this statement? [duplicate]这个语句中的#是什么意思? [复制]
【发布时间】:2019-05-23 09:44:37
【问题描述】:

正在将 Access DB 应用程序转换为 PHP/MySQL,并且遇到了一些语法问题。无法弄清楚该语句中的 # 是什么。

我浏览了所有我能找到的关于 Access 的文档。

// VBA

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

// PHP

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

没有错误信息。仍在完成转换。

【问题讨论】:

    标签: ms-access literals suffix


    【解决方案1】:

    VBA 支持 1980 年代初随每台 PC 一起提供的原始 BASIC 语言中非常古老的遗留物。

    因此,您可以使用表达式,甚至可以使用没有声明 (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
    

    我认为 Decimal 数据类型没有符号。

    编辑

    因此,在您的情况下,井号表示双浮点值。

    【讨论】:

    • 小数始终是一个变体,因此这些字符不适用于它(也不能Dim a As Decimal)。我们确实有LongLong ^(已知会引起混淆,例如2^ - 1),所以这些东西会针对新类型积极更新。
    猜你喜欢
    • 2017-03-20
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多