foxpro двойная точность типов данных - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть таблица с числовыми столбцами двойного типа данных с двумя десятичными знаками.Мы переносим данные в новую систему и заметили, что итоги после миграции не совпадают.Кажется, что данные хранятся за сотым местом.Как это возможно с double (2)?

Разве что-то вроде этого не должно возвращать 0,00?

CREATE CURSOR temp ( fld_dbl2 b(2))
FOR n=1 TO 1000
    APPEND BLANK
    replace fld_dbl2 WITH RAND()/1000
ENDFOR

SELECT SUM(fld_dbl2) FROM temp
into cursor _csrTemp

1 Ответ

0 голосов
/ 26 апреля 2018

Из справочного файла VFP 9:

Когда в таблице используется тип данных Double, число десятичных знаков, указанное при создании поля, предназначено только для отображения.Visual FoxPro сохраняет фактическое значение в поле.

...