كيفية تقريبه مزدوج إلى أقرب عدد صحيح أصغر في C؟

StackOverflow https://stackoverflow.com/questions/1631547

  •  06-07-2019
  •  | 
  •  

سؤال

ولقد حصلت على ضعف:

double d = 25.342;

وكيف يمكنني تحويله إلى 25 قيمة؟

إذا تم -12.46 ذلك كنت ترغب في الحصول على -13.

هل كانت مفيدة؟

المحلول

int i = (int)floor(25.342);

نصائح أخرى

int i = (int)floor(25.342);

ملاحظة هذا سيتم تحويل 12،99999-12.

المرجع:

http://www.codecogs.com/reference/c/ math.h / floor.php

وحيث x هو الخاص بك 25،342

وكثافة العمليات ط = س> = 0؟ (دولي) (س + 0.5): (دولي) (س-0.5)

#include <math.h>
#include <stdio.h>

int main(){

    double d = 25.342;
    double e = -12.99;

    printf("%d\n",(int)round(d)); // 25
    printf("%d\n",(int)round(e)); // -13

    return 0;
}

ويمكنك أيضا أن نلقي نظرة على stdint.h

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top