Iphone NSString-截断双精度字符串中小数点后的所有内容
我有一个double,我只需要小数点之前的所有值 目前我正在使用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
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。然后尝试