Я загружаю книгу валютных курсов через filehandler
в VB.net через System.Data.OleDb.OleDbConnection
.Datatable, загруженный с Microsoft.ACE.OLEDB.12.0, имеет более высокую точность, чем рабочая книга Excel
При просмотре ставок на листе Excel я вижу 0.55865921787709500000
.
Просмотр той же скорости в datatable в режиме отладки, я вижу 0.55865921787709480000
.
Под Excel, десятичные разряды устанавливаются 20
- кажется, просто подушечка из нулей мимо десятичной позиции 15.
Я пытался писать ячейки в текстовый файл (тот же результат «+500000») чтение/,
Попробовал сохранить книгу как текстовый файл с разделителями-запятыми - то же самое «500000».
Лист скорости создается с другого веб-сайта. Я попытался добавить 16-ю цифру к рабочему листу, но после того, как я выхожу из ячейки, он возвращается к нулю. Я знаю, что Excel имеет предел точности в 16 цифр. В этом случае он, похоже, хранит больше.
Есть ли способ заглянуть в фактическое сохраненное значение в книге - кроме изучения данных?
Что вы можете изменить? можно ли увидеть код, который вы можете изменить? – Malachi
По дизайну: http://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel –
Я могу изменить код импорта, чтобы обрезать лишние цифры. Я спрашиваю, почему Excel предпочитает хранить более 15 значащих цифр и скрывать # 16, когда вы просматриваете цифры в Excel. Тип данных, полученный из чтения OLEdb книги, показывает 16 цифр, показывает рабочую книгу 15. – user652411