178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
1

Как преобразовать строку в число без учёта десятичного разделителя?

05.10.2016, 18:45. Показов 2334. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В системе установлен десятичный разделитель <запятая>.
В строке сформировано число 2,5 CDbl("2,5") = 2.5R. Тут всё в порядке.
А вот если в строке сформировано число 2.5 CDbl("2.5") = преобразование недопустимо.
Что можно использовать вместо CDbl("2.5") не меняя установленный в системе десятичный разделитель?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2016, 18:45
Ответы с готовыми решениями:

Как преобразовать цену в число без разделителя разрядов (пробел) в csv выгрузке
Здравствуйте! Подскажите пожалуйста, как в выгрузке csv сделать так, чтобы цена, выдергиваемая для...

Преобразовать дробную часть вещественного десятичного числа без знака в строку
Написать программу преобразования дробной части вещественного десятичного числа без знака в...

Преобразовать символьную запись целого десятичного числа без знака в целое число
Преобразовать символьную запись целого десятичного числа без знака в целое число. В записи...

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

7
1504 / 1052 / 146
Регистрация: 01.10.2009
Сообщений: 3,535
Записей в блоге: 1
05.10.2016, 18:49 2
VB.NET
1
replace
2
1079 / 910 / 212
Регистрация: 29.09.2015
Сообщений: 1,014
05.10.2016, 18:56 3
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Можно так извратиться

VB.NET
1
2
3
        Dim numFrmt As New System.Globalization.NumberFormatInfo With {.NumberDecimalSeparator = "."}
 
        Dim dbl As Double = Double.Parse("3.8", numFrmt)
2
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
05.10.2016, 19:51  [ТС] 4
Цитата Сообщение от Sklifosofsky Посмотреть сообщение
Можно так извратиться
всё работает. Если можно пожалуйста объясните словами чего это я такого страшного делаю?
0
1079 / 910 / 212
Регистрация: 29.09.2015
Сообщений: 1,014
05.10.2016, 20:14 5
jkrnd, да ничего особого. Я такой способ использовал в доработке одной проги, которая через TCP инфу пересылала и парсила данные на стороне клиента, в том числе и с плавающей точкой, выяснилось что на одном компе на XP каким то чудом в настройках ОС для нашего региона разделителем для чисел с плавающей точкой является "." вместо ",", до этого такого не встречал никогда...
1
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
05.10.2016, 21:12  [ТС] 6
Sklifosofsky, а у меня обслуживающая охранный прибор программа (солидной питерской фирмы) отказывалась работать по RS-485 из-за установленного в системе разделителя точки. С тех пор я предпочитаю не менять запятую на точку.
0
Заблокирован
05.10.2016, 21:31 7
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Visual Basic
1
val(replace(S,",","."))
-такая конструкция в VB6(VBA) не подводила ни разу.
1
1079 / 910 / 212
Регистрация: 29.09.2015
Сообщений: 1,014
05.10.2016, 21:36 8
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Shersh, подведет если вдругой системе будут региональные настройки не по стандарту...
1
05.10.2016, 21:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2016, 21:36
Помогаю со студенческими работами здесь

Как временно изменить значение десятичного разделителя в системе?
1. Сохранить текущий десятичный разделитель существующий в системе в настоящее время 2. Подменить...

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

Как получить знак десятичного разделителя для текущей культуры
Как получить знак десятичного разделителя для текущей культуры? Добавлено через 27 минут Ответ:...

Как преобразовать число типа int в строку типа string без методов-конвертов на C#?
В общем, все что выше написано. Пишу в Visual Studio на C#. Преобразовать без конвертирования,...

Преобразовать строку в число (без методов конвертации)
Задача заключается в следующем, нужно получить от юзера (или не от юзера) строку, и парсить ее в...

Замена десятичного разделителя
Здравствуйте! Возникла следующая проблема: Требуется, чтобы у дробных чисел десятичный...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru