是否可以在 iOS 上使用 Quartz 从 PDF 数字中获取双精度值?

发布于 2024-11-18 11:07:07 字数 374 浏览 1 评论 0原文

我正在使用 Quartz 从 iOS 上的 PDF 文件中读取数值,如下所示:

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

在 iOS 上,不幸的是,

typedef CGFloat CGPDFReal;

# define CGFLOAT_TYPE float

正在读取的数字的精度比存储在浮点数中的精度更高,并且我正在丢失数据。是否可以从 Quartz 中以双精度形式读取这些值?或者我需要去一个全新的库来读取 PDF 中的数据吗?

I'm reading numeric values from a PDF file on iOS using Quartz like so:

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

On iOS it appears that

typedef CGFloat CGPDFReal;

and

# define CGFLOAT_TYPE float

Unfortunately the numbers I'm reading have more precision than can be stored in a float and I'm loosing data. Is it possible to read these values as double precision from within Quartz? Or do I need to go to a completely new library for reading the data from the PDF?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不必了 2024-11-25 11:07:07

您需要使用另一个库来获取双精度值。

You need to use another library to get the values as double.

忘东忘西忘不掉你 2024-11-25 11:07:07

我认为将 PDF 中的实际值视为 float 值是没有问题的。

PDF 参考指出

为了表示实数,Acrobat 6
使用 IEEE 单精度
浮点数,如上所述
在 IEEE 二进制标准中
浮点运算(参见
参考书目)。

我可以想到使用 double 值进行中间计算的一​​些优点,但是使用 double 来从 PDF 读取值可能没有多大意义。

I think there is no problem in treating real values from a PDF as float values.

PDF Reference states that

To represent real numbers, Acrobat 6
uses IEEE single-precision
floating-point numbers, as described
in the IEEE Standard for Binary
Floating-Point Arithmetic (see the
Bibliography).

I can think of some advantages of using double values for intermediate calculations, but there is probably not much sense in using double for reading values from a PDF.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文