Можно ли получить значения двойной точности из чисел PDF с помощью Quartz на iOS? - PullRequest
2 голосов
/ 05 июля 2011

Я читаю числовые значения из PDF-файла на iOS, используя Quartz, вот так:

CGPDFReal number;
CGPDFArrayGetNumber(myarray, index, &number);

На iOS кажется, что

typedef CGFloat CGPDFReal;

и

# define CGFLOAT_TYPE float

К сожалению, числа, которые я читаю, имеют большую точность, чем те, которые могут быть сохранены в float, и я теряю данные. Можно ли считать эти значения двойной точностью изнутри Кварца? Или мне нужно перейти в совершенно новую библиотеку для чтения данных из PDF?

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

Вам нужно использовать другую библиотеку, чтобы получить двойные значения.

2 голосов
/ 06 июля 2011

Я думаю, что нет никаких проблем с обработкой реальных значений из PDF как float значений.

PDF Ссылка утверждает, что

Для представления действительных чисел, Acrobat 6 использует IEEE одинарную точность числа с плавающей точкой, как описано в стандарте IEEE для бинарных Арифметика с плавающей точкой (см. Библиография).

Я могу вспомнить некоторые преимущества использования значений double для промежуточных вычислений, но, вероятно, нет смысла использовать double для чтения значений из PDF.

...