Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm curious to know as to why if:
x = 1 str(x) = "1" equates to FALSE. I've tried x as Long, Integer, etc. Does anyone know why? Thanks. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The str function leaves a leading space for the sign as per its description
"Remarks When numbers are converted to strings, a leading space is always reserved for the sign of number. If number is positive, the returned string contains a leading space and the plus sign is implied." If you don't want the leading space use CStr function... Sub test() Dim x As Integer x = 1 MsgBox str(x) = " 1" 'equates to true End Sub Sub test() Dim x As Integer x = 1 MsgBox Cstr(x) = "1" 'equates to true End Sub -- HTH... Jim Thomlinson "Ferris" wrote: I'm curious to know as to why if: x = 1 str(x) = "1" equates to FALSE. I've tried x as Long, Integer, etc. Does anyone know why? Thanks. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The str function leaves a leading space for the sign as per its
description "Remarks When numbers are converted to strings, a leading space is always reserved for the sign of number. If number is positive, the returned string contains a leading space and the plus sign is implied." If you don't want the leading space use CStr function... You can also use the Format function (although, since we know we want a String value back, I would use Format$ of the function instead). x = 1 Format$(x) = "1" --- evaluates to True This is documented in the Remarks section of the help file for the Format Function... "If you try to format a number without specifying format, Format provides functionality similar to the Str function, although it is internationally aware. However, positive numbers formatted as strings using Format dont include a leading space reserved for the sign of the value; those converted using Str retain the leading space." Rick |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks for the replies - they were very helpful!
On Jun 3, 7:37 am, "Rick Rothstein \(MVP - VB\)" wrote: The str function leaves a leading space for the sign as per its description "Remarks When numbers are converted to strings, a leading space is always reserved for the sign of number. If number is positive, the returned string contains a leading space and the plus sign is implied." If you don't want the leading space use CStr function... You can also use the Format function (although, since we know we want a String value back, I would use Format$ of the function instead). x = 1 Format$(x) = "1" --- evaluates to True This is documented in the Remarks section of the help file for the Format Function... "If you try to format a number without specifying format, Format provides functionality similar to the Str function, although it is internationally aware. However, positive numbers formatted as strings using Format don't include a leading space reserved for the sign of the value; those converted using Str retain the leading space." Rick |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Now I'm Really Confused | New Users to Excel | |||
Very confused.... | Excel Discussion (Misc queries) | |||
Confused | New Users to Excel | |||
I'm Confused........................................ | Excel Programming | |||
confused... | Excel Programming |