2013-10-25 2 views
0

Вот что-то непонятное в Excel - я просмотрел Stackoverflow и другие сайты и не могу найти решение.Excel Десятичное число от MS Query

Я извлекаю 3 десятичное число из текстового файла (используя VB.NET, но я не думаю, что это связано с проблемой). Я сохраняю это значение как одно в базе данных Access и - (я также попытался удвоить.)

Я использую MS Query, чтобы принести эти значения из трех знаков после запятой в Excel. Несмотря на то, что исходный текст имеет четные десятизначные значения, в Excel добавляются десятичные разряды. Например:

Text file value: 
0.027 
Stored in Access: 
0.027 
Value in Excel: 
0.0270000007003546 

Я округлять значения, чтобы избежать путаницы, для других, но это может вызвать проблемы с каким-либо другим программированием, что я делаю. Любая помощь будет оценена по достоинству.

ответ

1

Я считаю, что проблема будет связана с этим:
http://support.microsoft.com/kb/78113

При сохранении номера, соответствующее двоичное число может представлять каждое число или дробное число. Например, доля 1/10 может быть представлена ​​в десятичной системе с числами 0,112. Однако тот же номер в двоичном формате становится повторяющимся двоичным десятичным числом 0001100110011100110011 (и т. Д.) и может быть бесконечно повторяемым. Это число не может быть представлено в конечном (ограниченном) объеме пространства. Поэтому это число равно , округленное примерно до -2,8Е-17 при его сохранении.

Если вы заставите Excel, установив явное округление, чтобы решить проблему, как и вы, так и документация.

Смежные вопросы