Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void printAfterDote(float f) {
- int c = f;
- float fraction = f - c;
- printf("fraction: %f \n", fraction);
- float bigDivider = 1.0;
- float smallDivider = 1.0 / bigDivider;
- printf("small divider: %f \n", smallDivider);
- int ranksAfterDote = 0;
- while (fraction < smallDivider) {
- bigDivider *= 10;
- smallDivider = 1.0 / bigDivider;
- ranksAfterDote += 1;
- printf("small divider: %f \n", smallDivider);
- }
- printf("ranks after dote: %d \n", ranksAfterDote);
- int size = ranksAfterDote;
- char zeros[size];
- int index = 0;
- while (index < (size - 1)) {
- zeros[index] = '0';
- index += 1;
- }
- int extractdigits = fraction * bigDivider * 1000;
- if (size > 1) {
- printf(".%s%d \n", zeros, extractdigits);
- } else {
- printf(".%d \n", extractdigits);
- }
- }
- void testPrint() {
- float f = 43.064;
- printAfterDote(f);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement