Doubles are giving me problems
Posted on
16th Feb 2014 07:03 pm by
admin
Ok so, first of all i made a double = 0.05, but when running the debugger it shows up as 0.04999. I know this has something to do with how doubles store but its causing problems for me. Anyway, in the code I'm trying to get only the right hand side(rhs) of the double variable jdn's decimal point. So in the code example I'm only trying to get .05. But rhs isn't always going to be the same and can have up to 0.00005 <- that fifth one there(can't remember what its called - hundred thousandth?). I have constant numbers right now for the sake of testing this. Now the counter goes through starting at 0.1, to make sure everything after the decimal point is 0. It goes through fine until it gets to 0.0002 - 0.0001 and then rhs = 9.99998e-005.
1
2
3
Did you know?Explore Trending and Topic pages for more stories like this.
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include
#include
#include
using namespace std;
int main()
{
double jdn = 2454115.05;
double lhs = floor(jdn);
double rhs = jdn - lhs;
double counter = 0.1;
if( rhs != 0.0 )
while( (rhs != 0.000001) || (counter != 0.00001) )
{
if( (rhs - counter) <= 0 )
{
counter *= 0.1;
//cout << "rhs = " << rhs << endl;
}
else
{
rhs -= counter;
cout << "rhs = " << rhs << endl;
}
}
cout << "ok" << endl;
return 0;
}
Results:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
rhs = 0.04
rhs = 0.03
rhs = 0.02
rhs = 0.01
rhs = 0.009
rhs = 0.008
rhs = 0.007
rhs = 0.006
rhs = 0.005
rhs = 0.004
rhs = 0.003
rhs = 0.002
rhs = 0.001
rhs = 0.0009
rhs = 0.0008
rhs = 0.0007
rhs = 0.0006
rhs = 0.0005
rhs = 0.0004
rhs = 0.0003
rhs = 0.0002
rhs = 9.99998e-005
No comments posted yet
Your Answer:
Login to answer
120
6
Other forums
php web service error
hey guys,
I'm working on a project requires the use of web services. I've been trying a few tutor
Text to picture Generator
Hello, i have found this script and it works really good^^ But i have one problem, i would like to c
BB_Code error
I'm having a problem with a custom built function and keep getting this error:
Warning: M
Mysql error message
help me find out what this error message means:
"Duplicate entry '0' for key 'PRIMARY'&q
first few characters only
hi, does anyone know how to use PHP to take the first few words of a text and limit them? i have see
Is there a way to override built in php functions without APD?
I am trying to use the
rename_function()
override_function()
options that are built into
Table trouble
i have been reading the forum for a few weeks and decided to join. i like the format and the advice
Points for Wiki contribution
Hi everyone,
I want to know how long does it take for the moderator to award points for a
How to create a static html menu from a database
Hi,
I have built a small cms which allows me to create simple html pages and then upload them
Batch Session SM35 stuck in status 'in Background
Hi Experts,
I am facing a problem with Batch Input session SM35.
The batch se