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