delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/08/01/12:30:29

From: Radical NetSurfer <radsmail AT juno DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: modf BROKEN ??
Date: Tue, 01 Aug 2000 12:23:06 -0400
Message-ID: <f8udosk8samrov7j0156qkuk31aga0essa@4ax.com>
References: <crdcosk167oh81vpnjfqeg1bnls5qqg9ld AT 4ax DOT com>
X-Newsreader: Forte Agent 1.8/32.548
X-No-Archive: yes
MIME-Version: 1.0
NNTP-Posting-Host: 216.202.134.160
X-Original-NNTP-Posting-Host: 216.202.134.160
X-Trace: 1 Aug 2000 12:25:50 -0400, 216.202.134.160
Lines: 49
X-Original-NNTP-Posting-Host: 64.31.79.51
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

At 5.0, 6.0, etc, Fract display as "1.0" because of a rounding error
in the   printf   output.  Its only an "optical illusion", and if 
%3.21 is used, you won't see it.

the question is obvious:
HOW do I maintain a %3.3f  output, but NOT get the 
1.0 "optical illusion"  ???

Thanks!

On Mon, 31 Jul 2000 22:37:40 -0400, Radical NetSurfer
<radsmail AT juno DOT com> wrote:

>Why does the following program INCORRECTLY display
>the fractional part?
>
>#include <stdio.h>
>#include <stdlib.h>
>#include <conio.h>
>#include <math.h>
>
>#include <pc.h>
>#include <unistd.h>
>
>int main(int argc, char **argv) {
>double  i, f;
>double  v, y;
>
>     printf("Observe the \"Rounded\" Value of Fint below:\n");
>     printf("Use ESC to exit.\n\n");
>
>     for(v=0.0; v< 10; v+=0.1) {
>      f = modf(v, &i);    // fractional = modf(argument, &integral);
>      if ( f <0.5 ) y = floor(v);
>               else y = ceil(v);
>
>      printf("Value: %lf  Fint: %lf Int: %lf  Frac: %lf\n",
>                           v,            y,          i,           f );
>      if ( getch() == 27 ) break;
>     }
>
>return (0);
>} //main
>------------------------------------------------------------------------------------------------------
>well?
>
>Email always welcomed: radsmail AT juno DOT com
>http://members.tripod.com/~RadSurfer/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019