web-dev-qa-db-fra.com

Arrondir un flotteur au prochain entier de l'objectif C?

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
57
DNB5brims

Vous voulez la fonction plafond. Utilisé comme tel:

float roundedup = ceil(otherfloat);
125
Anthony Blake

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!

2
Muhammad Asyraf

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;
}
2
lindinax

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/

2
Ray Toal