powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очередной глюк VB6?
9 сообщений из 9, страница 1 из 1
Очередной глюк VB6?
    #35118085
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайти в языковые настройки винды, поставить языковой стандарт английский(сша), нажать справа от него кнопку настройки, поставить для разделителя групп разрядов точку, применить и посмотреть что выдаст строка:

MsgBox Format(1234567, "#,#")

А выдаст она 1 вместо 1.234.567

Что за дела? Может кто в курсе?
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118113
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Pantalone
> Зайти в языковые настройки винды, поставить языковой стандарт
> английский(сша), нажать справа от него кнопку настройки, поставить для
> разделителя групп разрядов точку, применить и посмотреть что выдаст
> строка:
>
> MsgBox Format(1234567, "#,#")
>
> А выдаст она 1 вместо 1.234.567
>
> Что за дела? Может кто в курсе?

А самому посмотреть внимательно и подумать???
разделитель дробной и целой части какой по умолчанию стоит???
ты его-же ставиш и разделителем групп разрядов, вот он тебе и показывает то
что просишь.
компьютер дурак, он делает то что ему скажут и ни чего больше.

сделай так:
MsgBox Format(12345673, "#,#")
и на тех-же условиях будет 12

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118142
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты вместо MsgBox поставь Debug.Print и как это объяснить?
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118179
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pantalone,
вот объяснение, почему MsgBox так отрабатывает: Debug.Print Asc(Mid(Format$(1234567, "#,#"), 2, 1)). А вот почему Format разделитель групп либо неправильно берёт, либо просто не инициализирует - вопрос. Хотя, конечно, некорректно ставить одинаковый разделитель групп и десятичный разделитель. Ещё количество знаков после десятичного разделителя выставить равным длине группы - совсем красиво будет.
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118184
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что посоветуете? Другие проги при таком раскладе все показывают нормально.
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118326
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsgBox FormatNumber(1234567, 2, vbUseDefault, vbUseDefault, vbFalse) отобразит правильно, но без группировки - сплошным текстом.
MsgBox FormatNumber(1234567, 2, vbUseDefault, vbUseDefault, vbTrue) - неправильно
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118340
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил TDBNumber - он генерит ошибку при попытке записать число в Value
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35118433
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WorobjoffПроверил TDBNumber - он генерит ошибку при попытке записать число в Value
А это что за зверь такой TDBNumber? Я просто не в курсе.
...
Рейтинг: 0 / 0
Очередной глюк VB6?
    #35119039
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Pantalone
> А ты вместо MsgBox поставь Debug.Print и как это объяснить?
Измени Debug.Print на Print и помедитируй над результатом ;-)
а потом над функцией MsgBox, для лучшей медитации почитай
http://msdn2.microsoft.com/en-us/library/ms645505(VS.85).aspx , особенно
объяснение параметра lpText ;-)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Очередной глюк VB6?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]