[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #61844] Incorrect number of digits printed by
From: |
A.R. Burgers |
Subject: |
[Octave-bug-tracker] [bug #61844] Incorrect number of digits printed by printf for "%20.15g" and "%20.17g" |
Date: |
Mon, 17 Jan 2022 16:08:10 -0500 (EST) |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.62 |
Follow-up Comment #2, bug #61844 (project octave):
same output for a plain C-program (ubuntu 21.10, gcc 11.2)
#include <stdio.h>
int main(int nargc, char * argv[])
{
double val = 100/((double) 31);
fprintf(stdout, "%20.02g\n",val);
fprintf(stdout, "%20.03g\n",val);
fprintf(stdout, "%20.04g\n",val);
fprintf(stdout, "%20.05g\n",val);
fprintf(stdout, "%20.06g\n",val);
fprintf(stdout, "%20.07g\n",val);
fprintf(stdout, "%20.08g\n",val);
fprintf(stdout, "%20.09g\n",val);
fprintf(stdout, "%20.10g\n",val);
fprintf(stdout, "%20.11g\n",val);
fprintf(stdout, "%20.12g\n",val);
fprintf(stdout, "%20.13g\n",val);
fprintf(stdout, "%20.14g\n",val);
fprintf(stdout, "%20.15g\n",val);
fprintf(stdout, "%20.16g\n",val);
fprintf(stdout, "%20.17g\n",val);
fprintf(stdout, "%20.18g\n",val);
fprintf(stdout, "%20.19g\n",val);
fprintf(stdout, "%20.20g\n",val);
fprintf(stdout, "%20.21g\n",val);
fprintf(stdout, "%17.00g\n",val);
fprintf(stdout, "%17.01g\n",val);
fprintf(stdout, "%17.02g\n",val);
fprintf(stdout, "%17.03g\n",val);
fprintf(stdout, "%17.04g\n",val);
fprintf(stdout, "%17.05g\n",val);
fprintf(stdout, "%17.06g\n",val);
fprintf(stdout, "%17.07g\n",val);
fprintf(stdout, "%17.08g\n",val);
fprintf(stdout, "%17.09g\n",val);
fprintf(stdout, "%17.10g\n",val);
fprintf(stdout, "%17.11g\n",val);
fprintf(stdout, "%17.12g\n",val);
fprintf(stdout, "%17.13g\n",val);
fprintf(stdout, "%17.14g\n",val);
fprintf(stdout, "%17.15g\n",val);
fprintf(stdout, "%17.16g\n",val);
fprintf(stdout, "%17.17g\n",val);
fprintf(stdout, "%17.18g\n",val);
fprintf(stdout, "%17.19g\n",val);
fprintf(stdout, "%17.20g\n",val);
fprintf(stdout, "%17.21g\n",val);
}
which outputs
3.2
3.23
3.226
3.2258
3.22581
3.225806
3.2258065
3.22580645
3.225806452
3.2258064516
3.22580645161
3.225806451613
3.2258064516129
3.2258064516129
3.225806451612903
3.225806451612903
3.22580645161290303
3.225806451612903025
3.2258064516129030253
3.22580645161290302525
3
3
3.2
3.23
3.226
3.2258
3.22581
3.225806
3.2258065
3.22580645
3.225806452
3.2258064516
3.22580645161
3.225806451613
3.2258064516129
3.2258064516129
3.225806451612903
3.225806451612903
3.22580645161290303
3.225806451612903025
3.2258064516129030253
3.22580645161290302525
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?61844>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/