Okrągły pływak do następnej liczby całkowitej w celu C?

Jak zaokrąglić zmiennoprzecinkowy do następnej wartości całkowitej w celu C?

1.1 -> 2
2.3 -> 3
3.4 -> 4
3.5 -> 4
3.6 -> 4
1.0000000001 -> 2
Author: mskfisher, 2011-11-21

4 answers

Chcesz funkcję sufitu. Używane tak:

float roundedup = ceil(otherfloat);
 129
Author: Anthony Blake,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-21 01:21:50

Użyj funkcji ceil().

Ktoś zrobił trochę matematyki w Objective C writeup tutaj: http://webbuilders.wordpress.com/2009/04/01/objective-c-math/

 2
Author: Ray Toal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-21 01:22:43

Po prostu nie mogę skomentować Davids odpowiedz Jego druga odpowiedź nie zadziała, ponieważ modulo nie działa na wartościach zmiennoprzecinkowych. Nie powinno to wyglądać

if (originalFloat - (int)originalFloat > 0) {
    originalFloat += 1;
    round = (int)originalFloat;
}
 2
Author: lindinax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-18 09:55:33

Roundup StringFloat Uwagi( to nie jest najlepszy sposób, aby to zrobić )
Język- Swift & Objective C / xCode - 9.1
To co zrobiłem to konwertowanie string > 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

Cel C

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

Lub
możesz wykonać funkcję niestandardową Jak więc
Swift

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

Nazwałem to tak

    AmountToCash = self.roundupFloatString(value: AmountToCash)

Cel C

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

Nazwałem to tak

    AmountToCash = [self roundupFloatString:AmountToCash];
Powodzenia! i witamy! Wesprzyj moją odpowiedź!
 2
Author: Muhammad Asyraf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-04 09:14:19