我必须确定,零开始的时间从哪里开始削减数字,我想在'。'后面有5个数字。
我使用以下代码:
NSString* result = [[NSString stringWithFormat: @"%.5f", CGFloat] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString: @"0"]];
当我用'3.50300000'时,它给我'3.503',那没关系
但是当我使用'0.50300000'的代码时,如果需要'0.503',它会给我'.503'。
有人可以帮助我吗?
答案 0 :(得分:2)
NSString *result = [NSString stringWithFormat:@"%.5f", myFloat];
for (int i = result.length; [result characterAtIndex:i - 1] == '0'; --i)
;
result = [result substringToIndex:i];
答案 1 :(得分:1)
它是%N.Mf
,其中N是字段的最小宽度,M是“。”之后的小数位数。如果您始终希望小数点前至少有一位数(可能为“0”),并且在指定%5.3f
后至少需要3位数。
请注意,使用标准%
格式无法将演示文稿限制为仅5位数,以便12.12345将打印为“12.12”,而1.12345将打印为“1.123”。
答案 2 :(得分:0)
不是最干净的;但它确实有效。
NSMutableString* newResult = @"0";
NString* result = [[NSString stringWithFormat: @"%.5f", CGFloat] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"0"]];
if ([[result componentsSeparatedByString:@"."] count] == 1)
{
[newResult appendString:result];
}
NSLog(@"%@",newResult);