programing tip

목적 C에서 float를 다음 정수로 반올림합니까?

itbloger 2020. 12. 15. 08:16
반응형

목적 C에서 float를 다음 정수로 반올림합니까?


목적 C에서 float를 다음 정수 값으로 반올림하려면 어떻게해야합니까?

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

천장 기능을 원합니다. 이렇게 사용 :

float roundedup = ceil(otherfloat);

ceil()기능을 사용하십시오 .

누군가 Objective C 작성에서 약간의 수학을했습니다 : http://webbuilders.wordpress.com/2009/04/01/objective-c-math/


Davids의 대답을 언급 할 수 없었습니다. 그의 두 번째 대답은 모듈로가 부동 소수점 값에서 작동하지 않기 때문에 작동하지 않습니다. 이렇게 보이면 안돼

if (originalFloat - (int)originalFloat > 0) {
    originalFloat += 1;
    round = (int)originalFloat;
}

Roundup StringFloat remarks ( 이것은 최선의 방법이 아닙니다. )
Language- Swift & Objective C | xCode- 9.1
내가 한 일은 string> float> ceil> int> Float> String
String Float 10.8-> 11.0
String Float 10.4-> 10.0 이었습니다.

빠른

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];

행운을 빕니다! 그리고 환영합니다! 내 대답을 지원하십시오!

참조 URL : https://stackoverflow.com/questions/8206291/round-a-float-up-to-the-next-integer-in-objective-c

반응형