3

我正在尝试解决绘制到 PDF 时的间距问题。在调试中,我正在观察为我的字符串构造一个矩形的方法(见下文)。当我在调试器中观察值时,在方法返回其值之前,它们会从漂亮的浮点值(即 30.0)变为您在下图中看到的值。到底是怎么回事?例如,为什么 x 会变成 1.4013e - 45?

    CGRect renderingRect = CGRectMake(kBorderInset + kMarginInset + widthOfPrevious,    kBorderInset + kMarginInset + 50.0 + heightOfPrevious,stringSize.width, stringSize.height);

    return renderingRect;

请查看renderingRect的值:

在此处输入图像描述

4

1 回答 1

2

您可以使用CGRectIntegral如下所示将浮点值四舍五入为最接近的最小整数,如下所示。

CGRect renderingRect = CGRectIntegral(CGRectMake(kBorderInset + kMarginInset + widthOfPrevious, kBorderInset + kMarginInset + 50.0 + heightOfPrevious,stringSize.width, stringSize.height));
于 2012-12-05T23:23:20.300 回答