[英]NSString - Truncate everything after decimal point in a double
我有一个加倍,我只需要小数点前的所有值。
目前我正在使用
NSString *level = [NSString stringWithFormat:@"%.1f",doubleLevel];
但是当给定值9.96时,它返回“ 10”。 因此,它是四舍五入的。 我需要它仅返回“ 9”。 (注意-当值为9.95时,它将正确返回“ 9”值。)
有什么建议么?
谢谢。
只需将float / double值分配给一个int值即可。
int intValue = doubleLevel;
把那个婴儿当成一个int。
int castedDouble = doubleLevel;
之后的任何事情.
在双中将被截断。
9.1239809384 --> 9
123.90454980 --> 123
没有舍入,简单的截断。
NSString *level = [NSString stringWithFormat:@"%d",doubleLevel];
如果要使其保持浮点数:
CGFloat f = 9.99;
f = floorf(f);
有很多种floor
和round
实现。 自UN * X以来,它们就已经存在了,并且实际上是这些低级库的一部分,无论它们是BSD,Posix还是其他种类的库-您应该使自己熟悉它们。
浮点变量的不同“深度”有不同的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.