执行以下操作时:
NSString *scratchString = @".123456789";
CGFloat scratchNum = [scratchString doubleValue];
scratNum 包含 0.123457
如何让 scratchNum 包含所有数字?无论我尝试什么,它都会四舍五入到 6 个位置。
执行以下操作时:
NSString *scratchString = @".123456789";
CGFloat scratchNum = [scratchString doubleValue];
scratNum 包含 0.123457
如何让 scratchNum 包含所有数字?无论我尝试什么,它都会四舍五入到 6 个位置。
CGFloat
是一个浮点数—— afloat
或 a double
(取决于typedef
编译器选择哪个)。
没有浮点数不“包含所有数字”的概念。它们的内部表示各不相同,但在这种情况下,您的 Cfloat
由IEEE 754 标准表示。
在这种情况下,您的“四舍五入”是采用该浮点数并将其从二进制形式转换为文本形式的结果。这可能是 Xcode IDE 本身(例如在调试器中可视化值),或者您可能正在使用一条printf
语句并指定了特定的格式。