Comment arrondir un flottant à la prochaine valeur entière de l'objectif C?
1.1 -> 2
2.3 -> 3
3.4 -> 4
3.5 -> 4
3.6 -> 4
1.0000000001 -> 2
Vous voulez la fonction plafond. Utilisé comme tel:
float roundedup = ceil(otherfloat);
Roundup StringFloat remarques ( ce n'est pas la meilleure façon de le faire )
Langue - Swift & Objective C | xCode - 9.1
Ce que j'ai fait a été de convertir chaîne> float> ceil> int> Float> String
Chaîne flottante 10,8 -> 11,0
String Float 10.4 -> 10.0
rapide
var AmountToCash1 = "7350.81079101"
AmountToCash1 = "\(Float(Int(ceil(Float(AmountToCash1)!))))"
print(AmountToCash1) // 7351.0
var AmountToCash2 = "7350.41079101"
AmountToCash2 = "\(Float(Int(ceil(Float(AmountToCash2)!))))"
print(AmountToCash2) // 7350.0
Objectif C
NSString *AmountToCash1 = @"7350.81079101";
AmountToCash1 = [NSString stringWithFormat:@"%f",float(int(ceil(AmountToCash1.floatValue)))];
OU
vous pouvez faire un fonction personnalisée comme ça
Swift
func roundupFloatString(value:String)->String{
var result = ""
result = "\(Float(Int(ceil(Float(value)!))))"
return result
}
Appelé comme ça
AmountToCash = self.roundupFloatString(value: AmountToCash)
Objectif C
-(NSString*)roundupFloatString:(NSString *)value{
NSString *result = @"";
result = [NSString stringWithFormat:@"%f",float(int(ceil(value.floatValue)))];
return result;
}
Appelé comme ça
AmountToCash = [self roundupFloatString:AmountToCash];
Bonne chance! et bienvenue! Soutenez ma réponse!
Je ne pouvais tout simplement pas commenter la réponse de David. Sa deuxième réponse ne fonctionnera pas car modulo ne fonctionne pas sur les valeurs à virgule flottante. Cela ne devrait-il pas ressembler
if (originalFloat - (int)originalFloat > 0) {
originalFloat += 1;
round = (int)originalFloat;
}
Utilisez la fonction ceil()
.
Quelqu'un a fait un peu de calcul dans la rédaction d'Objective C ici: http://webbuilders.wordpress.com/2009/04/01/objective-c-math/