Iphone NSString-截断双精度字符串中小数点后的所有内容

Iphone NSString-截断双精度字符串中小数点后的所有内容,iphone,ios,nsstring,double,truncate,Iphone,Ios,Nsstring,Double,Truncate,我有一个double,我只需要小数点之前的所有值 目前我正在使用 NSString *level = [NSString stringWithFormat:@"%.1f",doubleLevel]; 但如果给定值9.96,则返回“10”。所以是四舍五入。我需要它只返回“9”。(注意-当值为9.95时,它将正确返回“9”值。) 有什么建议吗 谢谢。只需将浮点/双精度值指定给int值即可 int intValue = doubleLevel; 只需将float/double值赋给int值即可 i

我有一个double,我只需要小数点之前的所有值

目前我正在使用

NSString *level = [NSString stringWithFormat:@"%.1f",doubleLevel];
但如果给定值9.96,则返回“10”。所以是四舍五入。我需要它只返回“9”。(注意-当值为9.95时,它将正确返回“9”值。)

有什么建议吗


谢谢。

只需将浮点/双精度值指定给int值即可

int intValue = doubleLevel;

只需将float/double值赋给int值即可

int intValue = doubleLevel;

把那个婴儿当智力演员

int castedDouble = doubleLevel;
double中
之后的任何内容都将被截断

9.1239809384-->9

123.90454980-->123


没有舍入,只是简单的截断。

将婴儿转换为int

int castedDouble = doubleLevel;
double中
之后的任何内容都将被截断

9.1239809384-->9

123.90454980-->123


无舍入,简单截断。

如果要将其保留为浮点数:

CGFloat f = 9.99;
f = floorf(f);
有相当多的
floor
round
实现。 它们从UN*X开始就存在了,实际上是那些低级库的一部分,无论它们是BSD、Posix还是其他种类的库——您应该熟悉它们


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

如果要将其保留为浮点变量:

CGFloat f = 9.99;
f = floorf(f);
有相当多的
floor
round
实现。 它们从UN*X开始就存在了,实际上是那些低级库的一部分,无论它们是BSD、Posix还是其他种类的库——您应该熟悉它们


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

将双精度值直接分配给int。然后尝试将双精度值直接分配给int。然后尝试