从CGFloat中减去

dai*_*dai 2 iphone floating-point cgfloat ios

NSLog(@"original float value = %f", [anNSNumber floatValue]);

float newFloat = [anNSNumber floatValue] - 1.0f;

NSLog(@"newFloat = %f", newFloat);
Run Code Online (Sandbox Code Playgroud)

给我

原始浮动值= 215987480044765184.000000

newFloat = 215987480044765184.000000

你怎么简单地从一个减去1 float

nha*_*tdh 5

不,你不能进一步简化它.浮点数与整数不同.

另外需要注意的是,float类型最多只能包含24位精度(大约6-7位精度的十进制数字).您在那里的数字超出了可用的精度float,并且减法量太小而不能影响24位精度,因此操作不会对结果进行任何更改.

即使您进行操作,问题也不会解决double,因为该数字甚至超过了53位精度double.

取决于您的要求,您可能需要64位整数类型(long long类型或更具体int64_t).如果对于更大数量的这种精度是必要的,基本类型将是不够的.如果您需要非常高的精度,可能需要外部库.