How to get the first two digits after the decimal point of a float number in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>

void get_first_two_digits_after_decimal_point(double d, char result[]) {
    char s[20];
    snprintf(s, sizeof(s), "%.6f", d);
    
    char *point_pos = strchr(s, '.');
    
    if (point_pos != NULL) {
        int index = point_pos - s + 1;
        strncpy(result, s + index, 2);
        result[2] = '\0';
    }
}

int main() {
    double d = 1376.287152;
    char result[3];
    
    get_first_two_digits_after_decimal_point(d, result);
    
    printf("%s\n", result);
    
    return 0;
}

    
    
/*
run:
    
28
    
*/
   

 



answered Sep 18, 2024 by avibootz
...