Funny notation with #

后端 未结 4 1980
臣服心动
臣服心动 2020-12-15 23:07

what does this mean?

if CDbl(Trim(Range(\"M\" & r).Text)) > 0# then...

what does the # do?? and what does cdbl do?

相关标签:
4条回答
  • 2020-12-15 23:10

    ****Here is a Cheat Sheet for DataTypes ****

    Variable End with:

    $ : String
    % : Integer (Int16)
    & : Long (Int32)
    ! : Single
    # : Double
    @ : Decimal
    

    Start with:

    &H : Hex
    &O : Octal
    

    Comparison between VB and VB.Net (reference)

    Visual Studio .Net added Literal Types (reference)

    Value End with: (For more complete list, refer the the reference)

    S : Short (Int16)
    I : Integer (Int32)
    L : Long (Int64)
    F : Single
    R : Double
    D : Decimal
    

    Convert to:

    CBool(expression)
    CByte(expression)
    CCur(expression)
    CDate(expression)
    CDbl(expression)
    CDec(expression)
    CInt(expression)
    CLng(expression)
    CLngLng(expression) (Valid on 64-bit platforms only.)
    CLngPtr(expression)
    CSng(expression)
    CStr(expression)
    CVar(expression)
    
    0 讨论(0)
  • 2020-12-15 23:18

    CDbl casts the contents to a double value. The # indicates it's a numeric double value. VB and VBA are sometimes quite forgiving when you're dealing with numbers, which can prove to be dangerous!

    0 讨论(0)
  • 2020-12-15 23:22

    CDbl() convert an expression to a Double:

    A data type that holds double-precision floating-point numbers as 64-bit numbers in the range -1.79769313486231E308 to -4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values.

    "#" is the "type-declaration character" for a Double. Following a number with this symbol means that it will treat the number as a double instead of trying to guess what exact variable type to use (it would likely have treated the 0 as a integer without this)

    0 讨论(0)
  • 2020-12-15 23:24

    Visual Basic uses the pound sign (# ) to indicate double-precision values. So 0# enforces to treat this constant as of type double. CDbl converts expression to double type. * Double means double precision floating point.

    0 讨论(0)
提交回复
热议问题