Вызовите метод следующим образом:
newNumber = [self formattedStringWithDecimal:[NSDecimalNumber numberWithFloat:15.434]];
Вы пытались передать примитив, но метод ожидает объект: NSDecimalNumber.Вы должны использовать статический вспомогательный метод numberWithFloat для создания объекта этого типа.
И, кстати, у меня есть ощущение, что
newNumber = [NSString stringWithFormat@"%.2f", 15.434];
может достичь того же результата сменьше строк кода.Обратите внимание, что это не будет округлять ваш номер.