Округлить число до следующего целого числа в задаче C? - PullRequest
56 голосов
/ 21 ноября 2011

Как округлить число с плавающей точкой до следующего целочисленного значения в задаче C?

1.1 -> 2
2.3 -> 3
3.4 -> 4
3.5 -> 4
3.6 -> 4
1.0000000001 -> 2

Ответы [ 4 ]

124 голосов
/ 21 ноября 2011

Вы хотите функцию потолка.Используется так:

float roundedup = ceil(otherfloat);
2 голосов
/ 04 января 2018

Roundup StringFloat замечания ( это не лучший способ сделать это )
Язык - Swift & Objective C |xCode - 9.1
То, что я сделал, было конвертировать строку> float> ceil> int> Float> String
String Float 10.8 -> 11.0
String Float 10.4 -> 10.0

Swift

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

Объектив C

NSString *AmountToCash1 = @"7350.81079101";
AmountToCash1 = [NSString stringWithFormat:@"%f",float(int(ceil(AmountToCash1.floatValue)))];

ИЛИ
Вы можете сделать пользовательскую функцию примерно так
Swift

func roundupFloatString(value:String)->String{
  var result = ""
  result = "\(Float(Int(ceil(Float(value)!))))"
  return result
}

Вызывается так, как будто

    AmountToCash = self.roundupFloatString(value: AmountToCash)

Объектив C

-(NSString*)roundupFloatString:(NSString *)value{
    NSString *result = @"";
    result = [NSString stringWithFormat:@"%f",float(int(ceil(value.floatValue)))];
  return result;
}

Называется так, как ...

    AmountToCash = [self roundupFloatString:AmountToCash];

Удачи!и добро пожаловать!Поддержите Мой ответ!

2 голосов
/ 18 марта 2013

Просто не смог прокомментировать ответ Дэвидса. Его второй ответ не сработает, так как по модулю не работает со значениями с плавающей точкой. Не должно ли это выглядеть как

if (originalFloat - (int)originalFloat > 0) {
    originalFloat += 1;
    round = (int)originalFloat;
}
2 голосов
/ 21 ноября 2011

Используйте функцию ceil().

Кто-то сделал небольшую математику в описании цели C здесь:

...