Справочная информация: Я получаю данные для своего приложения Excel из API в формате json.В связи с этим я получаю числовые значения в виде строки, так как все, что отправлено в json, естественно, представляет собой текстовый формат - и VBA также интерпретирует его.Поскольку я нахожусь в Дании, использую другой десятичный разделитель, чем встроенный в Excel (моя датская версия использует ,
в качестве разделителя, а не .
).
Случай: Это вызывает немало проблем, так как Excel интерпретирует это как разделитель тысяч при преобразовании строки в число.
Поиск ответов I 'мы обнаружили, что, как правило, лучшее решение - преобразовать строку в удвоенную при использовании VBA, используя CDbl(string to convert to number)
.
Обычно это так, но в моем случае я получаю число с большим количеством десятичных знаков, например: "9.300000190734863
".
При выполнении CDbl("9.300000190734863")
это приводит кв очень большом целом числе: 9,30000019073486E+15
Кроме того, я не думаю, что использование подхода replace()
возможно в моем случае, так как у меня также могут быть данные, которые используют как десятичные, так и тысячи разделителей одновременно,что делает мои результаты подверженными ошибкам при замене.
Однако при вставке строкового значения непосредственно в ячейку в Excel число корректно преобразуется в 9,30000019073486
в моем случае.
Вопрос: Может ли быть правильным, что нет способа имитировать или использовать эту функциональность, которую Excel, очевидно, использует при вставке строки в ячейку?
Я уже довольно долго искал, и не нашел другого решения, кроме очевидного: вставка значения в ячейку.Проблема здесь в том, что это дает мне некоторые потери производительности, которых я бы предпочел избежать.