0

执行以下操作时:

NSString *scratchString = @".123456789";

CGFloat scratchNum = [scratchString doubleValue];

scratNum 包含 0.123457

如何让 scratchNum 包含所有数字?无论我尝试什么,它都会四舍五入到 6 个位置。

4

1 回答 1

0

CGFloat是一个浮点数—— afloat或 a double(取决于typedef编译器选择哪个)。

没有浮点数不“包含所有数字”的概念。它们的内部表示各不相同,但在这种情况下,您的 CfloatIEEE 754 标准表示。

在这种情况下,您的“四舍五入”是采用该浮点数并将其从二进制形式转换为文本形式的结果。这可能是 Xcode IDE 本身(例如在调试器中可视化值),或者您可能正在使用一条printf语句并指定了特定的格式。

于 2012-06-01T01:29:59.430 回答