Advertisement
SEEEEEAAAAAA10000000

Untitled

Nov 24th, 2019
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.96 KB | None | 0 0
  1. #include <stdio.h>
  2. void printAfterDote(float f) {
  3.     int c = f;
  4.     float fraction = f - c;
  5.     printf("fraction: %f \n", fraction);
  6.     float bigDivider = 1.0;
  7.     float smallDivider = 1.0 / bigDivider;
  8.     printf("small divider: %f \n", smallDivider);
  9.     int ranksAfterDote = 0;
  10.  
  11.  
  12.     while (fraction < smallDivider) {
  13.         bigDivider *= 10;
  14.         smallDivider = 1.0 / bigDivider;
  15.         ranksAfterDote += 1;
  16.         printf("small divider: %f \n", smallDivider);
  17.     }
  18.  
  19.     printf("ranks after dote: %d \n", ranksAfterDote);
  20.  
  21.     int size = ranksAfterDote;
  22.     char zeros[size];
  23.     int index = 0;
  24.     while (index < (size - 1)) {
  25.         zeros[index] = '0';
  26.         index += 1;
  27.     }
  28.     int extractdigits = fraction * bigDivider * 1000;
  29.  
  30.     if (size > 1) {
  31.         printf(".%s%d \n", zeros, extractdigits);
  32.     } else {
  33.         printf(".%d \n", extractdigits);
  34.     }
  35. }
  36.  
  37. void testPrint() {
  38.     float f = 43.064;
  39.     printAfterDote(f);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement