小数点以下の唯一の時刻が小数点が.5
であるようにこのプログラムを作成しようとしています。私は[string substringToIndex:[string length] - 2]
を使用しようとしていますが、何もしません。それはフロートを追加できないからですか?NSStringの長さを短縮できない
float inchesInField = [sizeField.text floatValue];
float shoeSize = inchesInField * 3 - 22;
NSMutableString *appendedShoeSize = [[NSMutableString alloc]
initWithFormat:@"%.1f", shoeSize];
if ([appendedShoeSize hasSuffix:@".3"] || [appendedShoeSize hasSuffix:@".5"] ||
[appendedShoeSize hasSuffix:@".4"] || [appendedShoeSize hasSuffix:@".6"])
{
[appendedShoeSize substringToIndex:[appendedShoeSize length] - 2];
[appendedShoeSize appendString:@" ½"];
}
if ([appendedShoeSize hasSuffix:@".0"] || [appendedShoeSize hasSuffix:@".1"] ||
[appendedShoeSize hasSuffix:@".2"])
{
[appendedShoeSize substringToIndex:[appendedShoeSize length] - 2];
}
もちろん、NSMutableStringで 'deleteCharactersInRange'を使用して、それを適切な位置で切り捨てることができます。 –
これは、NSMutableStringの使用をより確実にする – Daniel
これを試したときに、「NSMutableString * __ strong 'に' NSString * 'から割り当てられた互換性のないポインタ型が返される – AppleGuy