Что не так с функцией VB str ()? - PullRequest
0 голосов
/ 23 марта 2011

Неправильное поведение функций str () или val () сделало мои дни ужасными, следующая ошибка заставила меня найти ее за 2 дня.

temp = Val(currentYear)
temp = temp + 1
nextYear = Str(temp)

MsgBox "YY" & currentYear & "YY"
MsgBox "YY" & nextYear & "YY"

Начальное значение currentYear - "2010" Результат должен быть: YY2010YY YY2011YY

однако, результат: YY2010YY ГГ 2011ГГ

Эта ошибка грубая. После этого я добавляю строку рядом с моим кодом:

temp = Val(currentYear)
temp = temp + 1
nextYear = Str(temp)
nextYear = LTrim(nextYear)
MsgBox "YY" & currentYear & "YY"
MsgBox "YY" & nextYear & "YY"

Тогда результат приходит, как и ожидалось. Кто-нибудь может объяснить это? Спасибо.

1 Ответ

1 голос
/ 23 марта 2011

Вы должны использовать CStr вместо.

Str использует пробел для обозначения положительного значения, а CStr - нет.

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