Hi all!

I have a with D5 on an Oracle database (8.1.5) where it does not

return the data I need.

I read some information from a table, in order to pick an 140 rows old

row (using rowcounrt). This works fine. I get a float (for DateTime,

as Orcale cannot handle MilliSeconds).

Later I try to read data using the number I obtained, in e.g.

where RECORD_TIME>=38022.67632461809920

The number comes from Str(val:0:15).

The problem is, that when browsing the database, it does not return

rows where record_time is 38022.6763246181 - it is higher, and even

when rounding, it should still be equal.

Anyone know about this?

BR

Sonnich

it depends in what mode the FPU is in .

in the Math Unit there is a couple of

functions for contronlling the FPU controlword.

i don't remember what they are. something like

SetControlWord and GetControlWord or something of that

order.

anways you can control how the FPU treats the numbers.

in the Math Unit there is a couple of

functions for contronlling the FPU controlword.

i don't remember what they are. something like

SetControlWord and GetControlWord or something of that

order.

anways you can control how the FPU treats the numbers.

The problems goes deeper than that...

I read a value out of the DB (38022.67632461809920), which I later use

for a select

SELECT * FROM db

WHERE RECORD_TIME >= 38022.67632461809920

Looking at the table with any DB browser (such as TOAD), I see that it

is 38022.6763246181, but when selecting it later, it does not find

this row.

Using 38022.6763246180 works, as well as 38022.67632461804454

It rounds somehow, just I dont know what is going on....

I read a value out of the DB (38022.67632461809920), which I later use

for a select

SELECT * FROM db

WHERE RECORD_TIME >= 38022.67632461809920

Looking at the table with any DB browser (such as TOAD), I see that it

is 38022.6763246181, but when selecting it later, it does not find

this row.

Using 38022.6763246180 works, as well as 38022.67632461804454

It rounds somehow, just I dont know what is going on....

I would guess that your problem may be occurring because of the size of the

variable type that you are using. 38022.6763246180 is 15 digits. I don't

have any documentation close by, but that sounds like the limit for one of

the float types. Try another type.

variable type that you are using. 38022.6763246180 is 15 digits. I don't

have any documentation close by, but that sounds like the limit for one of

the float types. Try another type.

1. float to string to float, with first float == second float

2. floating point problem... floating indeed :(

3. Problem with float to int conversion by using two int variables for representing the float number

4. Problem with float to int conversion by using two int variables for representing the float number

5. Floats, a problem with how high they float up to

6. float-float comparison problem, PPC604E, vxworks5.4

7. Problem with float to int conversion by using two int variables for representing the float number

8. Differences between IDL's floats and Java's floats - a problem

9. Problem with float to int conversion by using two int variables for representing the float number

10. float->byte->float is same with original float image. why float->ubyte->float is different???

11. Problem page IE clear float problem, Opera/FF header problem and N4

12. MSACCES.EXE to ORACLE via odbc implicit float number conversion

13. Ada 64-bit IEEE compliant float & Oracle

14. [UNIFACE-L:3690] Calling a Oracle stored procedure with float parameters

15. [UNIFACE-L:3717] RE : Calling a Oracle stored procedure with float parameters

4 post • Page:**1** of **1**