Я давно работаю на C # и в последнее время мне приходилось смотреть код VB6.После некоторого копания мы обнаружили, что где-то каким-то образом мы храним число в виде строки.Сейчас мы читаем его обратно, и наш код не очень хорошо обрабатывает культурные различия.Вот пример:
Dim text as String
Dim myVal as Double
Set text = "1,123456"
'This sets the value of myVal to 1123456 on our system - incorrect
myVal = text
Set text = "1.123456"
'This sets the value of myVal to 1.123456 on our system - correct
myVal = text
Имея в виду, что это VB6, а не VB.NET, существуют ли какие-либо встроенные методы, функции, что угодно, которые могут преобразовать строку в тип double с использованием определенногокультура?Или, по крайней мере, намекнув на преобразование, что мы можем иметь дело с другим форматом?
Мы все еще копаем, как записывается значение, и посмотрим, сможем ли мы перепроектировать процесс, чтобы получить согласованный результат,Тем не менее, наши клиенты уже имеют (имеют) данные в одном или другом формате (или оба, мы проверяем ...), поэтому правильный алгоритм или реализация преобразования будет лучшим ответом на этом этапе.