我有一个有趣的问题要解决,它更像是一个测验:)
我必须重新创建一个简单的计算器,并且我有两个带有向上/向下的按钮。这两个按钮的功能很简单,它们取当前值并求和 1 或取 1。所以我设法创建了一个小函数,将值转换为字符串,如果是 34.1,我创建新值 0.1加或减。
- (float)findFloatValueToAdd:(NSString *)aString
{
NSMutableString *val = [NSMutableString stringWithCapacity:aString.length];
for (int i = 0; i < aString.length; i++)
[val appendFormat:@"0"];
if ([aString rangeOfString:@"."].location != NSNotFound)
[val replaceCharactersInRange:NSMakeRange([aString rangeOfString:@"."].location, 1)
withString:@"."];
[val replaceCharactersInRange:NSMakeRange(aString.length-1, 1)
withString:@"1"];
return [val floatValue];
}
主要问题是当我有很多像 23.1234212 这样的小数时。如果我必须上涨,它会直接跳到 23.12342,同样下跌。如果我继续从 23.12342 下降,它将变为 23.12341 > 23.1234,但随后变为 23.1233>23.1232>23.1231...
那么,如何才能真正解决这个问题呢?
多谢你们!