iOS:当我在调试过程中看到奇怪的计算值时,CGRect正在做什么?

时间:2012-12-05 22:15:37

标签: ios cgrect cgrectmake

我正在尝试在绘制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的值:

enter image description here

1 个答案:

答案 0 :(得分:2)

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

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