python - Windows 7 cmd, from Visual Studio, not displaying floats -
in visual studio 2015, made program calculate pi. variable pi float
(i wasn't sure if necessary thought might in case), anyway.. here's function:
float pi(int accuracy) { float pi = 3; int nint = 2; int next; (int = 0; < accuracy; i++) { next = 4 / (nint * (nint + 1) * (nint + 2)); nint += 2; if (i % 2 == 0) { pi += next; } else { pi -= next; } } return pi; }
so far can see, should return float
variable. when call it, use 2000
parameter, , should return quite accurate representation of pi. visual studio displays cmd, instead of writing decimal places, shows 3
.
decided test in python. here's code:
pi = 3 n_int = 2 # i'm using 1000 accuracy, because python's slower. in range(1000): nextint = 4 / (n_int * (n_int + 1) * (n_int + 2)) n_int += 2 if % 2 == 0: pi += nextint else: pi -= nextint print(pi) input()
i tested python because way there 2 different ways of outputting number. first, ran directly idle, displayed output in idle window. displayed 3.141592653340544
(this isn't entirely accurate, expected). when double-click python file in windows explorer (making open in cmd), , displays 3
, c++ example.
can safely it's problem cmd, perhaps i've changed setting or might make happen (although can't remember doing this).
so, how, in cmd, can display float or long number?
next = 4 / (nint * (nint + 1) * (nint + 2));
(nint * (nint + 1) * (nint + 2))
int
. 4 int
. dividing 2 int
s gives int
, removing decimal part (because int
s have no decimal parts).
you should change 4.0
or 4.0f
use floating-point division.
and should make next
float
or double
, because number needs store isn't whole number.
Comments
Post a Comment