С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22

Как определить знак разделителя целой и дробной части чисел, установленный в системе?

26.01.2021, 22:05. Показов 2283. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, вопрос в заголовке.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2021, 22:05
Ответы с готовыми решениями:

Прочитать значение из ячейки как число, независимо от разделителя целой и дробной части
Доброго времени суток уважаемые форумчане. Помогите с простым вопросом, сам чтото в тупик забрел. А вопрос такой: Есть форма, в ней есть...

Отображение разделителя целой и дробной части
Здравствуйте. Столкнулся с такой проблемой. По умолчанию VS (2013) отображает точку в консольных программах в виде запятой (при выводе на...

И точка и запятая в качестве разделителя целой и дробной части!
Возникла проблемка! Имею TextBox, в который ввожу дробные числа, так как региональная настройка windows "ru-RU" разделитель...

10
Модератор
10047 / 3893 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
26.01.2021, 22:26
Visual Basic
1
Format$(0#, ".")
2
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
26.01.2021, 22:37
Ещё способ, общий, потому как на API:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Const LOCALE_USER_DEFAULT& = &H400
    Private Const LOCALE_SDECIMAL& = &HE
    Private Const LOCALE_STHOUSAND& = &HF
    Private Declare Function GetLocaleInfo& Lib "kernel32" Alias _
        "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
        ByVal lpLCData As String, ByVal cchData As Long)
Private Function DecimalSeparator() As String
      Dim r As Long, s As String, numChars As Long
    
      numChars = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, 0, 0)
      s = Space(numChars + 1)
      r = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, s, numChars)
      DecimalSeparator = Left$(s, r)
 End Function
    
 
Private Sub Command1_Click()
Debug.Print DecimalSeparator()
End Sub
Только для чего, если всё равно у VB6 внутренний формат разделителя всегда точка?
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
26.01.2021, 22:55  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
если всё равно у VB6 внутренний формат разделителя всегда точка?
Были сомнения.
Я уже привык вставлять подпрограммы ввода чисел и точки с заменой вводимой запятой на точку. Если на компьютере пользователя в качестве разделителя установлена запятая, то будет ли работать моя программа?
0
Модератор
10047 / 3893 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
26.01.2021, 23:00
Цитата Сообщение от Argus19 Посмотреть сообщение
Я уже привык выставлять подпрограммы ввода чисел и точки с заменой вводимой запятой на точку. Если на компьютере пользователя в качестве разделителя установлена запятая, то будет ли работать моя программа?
VB6 поддерживает как локализированные разделители так и фиксированный (точку).
Visual Basic
1
2
3
4
5
Debug.Print CDbl("1,5") ' // Локализированный
Debug.Print Val("1.5")  ' // Фиксированный
 
Debug.Print CStr(1.5)   ' // Локализированный
Debug.Print Str(1.5)    ' // Фиксированный
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
26.01.2021, 23:02  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
VB6 поддерживает как локализированные разделители так и фиксированный (точку).
Спасибо. Я тут от тоски программку накатал для соседней ветки и в ней меняю запятую на точку.
0
Модератор
10047 / 3893 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
26.01.2021, 23:19
Цитата Сообщение от Argus19 Посмотреть сообщение
Спасибо. Я тут от тоски программку накатал для соседней ветки и в ней меняю запятую на точку.
Ты опиши что тебе от агента нужно, я тебе скажу как без него сделать.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
26.01.2021, 23:26  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
опиши что тебе от агента нужно
В Ветке про агент или в личку?
0
Модератор
10047 / 3893 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
26.01.2021, 23:29
Цитата Сообщение от Argus19 Посмотреть сообщение
В Ветке про агент или в личку?
В ветке конечно, чтобы и другие видели.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
20.12.2024, 17:22  [ТС]
Случилось странное. Почистил комп программой Ускоритель Компьютера 4.0 и в VB 6.0, что в самой IDE, что в оттранслированном .exe разделителем стала запятая.
Сделал так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Delimiter As String
.......
Private Sub Form_Load()
Delimiter = GetDecimalDelimiter
Debug.Print Delimiter
End Sub
Function GetDecimalDelimiter() As String
  On Error Resume Next
  Dim dbl As Double
  dbl = CDbl("1.25")
  If dbl = 1.25 Then
  GetDecimalDelimiter = "."
  Exit Function
  End If
    dbl = CDbl("1,25")
    If dbl = 1.25 Then GetDecimalDelimiter = ","
 
End Function
Лихо печатает запятую.
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
22.12.2024, 20:01  [ТС]
Лень переустанавливать IDE. И интересно разобраться.
KeyCodeConstants - vbKeyDelete = 46 (&H2E)
Это тоже сломалось?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2024, 20:01
Помогаю со студенческими работами здесь

Как в Excel 2000 определить - какой разделитель целой/дробной части ?
Вопрос, собстно, в subj. Для Экселя 2002 есть Application.DecimalSeparator, это я нашел. А вот в более ранних версиях -- как узнать, что на...

Дано положительное вещественное число Х. Определить, равна ли первая цифра его дробной части последней цифре целой части
Дано положительное вещественное число Х. Определить, равна ли первая цифра его дробной части последней цифре целой части. Данные должны...

Вычислить суммы целой и дробной части чисел
Условие:Вводится последовательность ненулевых целых чисел, 0 – конец последовательности. Вычислить суммы целой и дробной части этих чисел.

Определить равна ли сумма k цифр дробной части заданного вещественного числа сумме цифр целой части
Помогите доделать задание, исправьте пожалуйста код!!! Срочно! Задание: Выполнить задания, выделяя цифры числа, хранящегося в переменной...

В вещественном числе определить, равны ли суммы цифр целой и дробной части
Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для определения есть ли среди них число у которого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru