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
Getting rid of quotes when printing data
Hi Guys, I use the filter_var FILTER_SANITIZE_STRING to filter the textarea input. The function esca
php mysql script to find record
Hi,
Currently I have a simple table with 4 columns. A, B, C, D
If I want to find all
include problem
I have my root folder as:
Code: $root = $_SERVER["SITE_HTMLROOT"]; // the server root<
Little problem with form insertion in MySQL, Please help!!!
Hi!,
I'm a little bit new with php and I have a little issue here. I created a webform to ins
Mail functionality from localhost to server
Hi
I am facing problem of mail functionality.
When i tested mail functionality in my
Issue Parsing XML into table
Hello all,
Im a bit new to php and new to phpfreaks. But thanks in advance for the help!
<
Socket Server Response Headers
Earlier I had a post about my Socket Server, I wasn't able to get it to connect, now I can
I
Curl timeout breaks script
So im having difficulties with skipping timeout error in curl
my script calls different functions
If a form submits back to same page do you need to use $get
IM trying to pass page number and year that was selected back to the same page.
i have this c
DateObject and Nulls
Hi all,
I have an array mapped to a value object. One of the items in the array is a PHP Date