繁体   English   中英

NSString-在双精度小数点后截断所有内容

[英]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);

有很多种floorround实现。 自UN * X以来,它们就已经存在了,并且实际上是这些低级库的一部分,无论它们是BSD,Posix还是其他种类的库-您应该使自己熟悉它们。

浮点变量的不同“深度”有不同的版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM