hi

i am using a variable as double
and passing pointer of it as parameter to an api
this is all hapening in JNI.
after i read the value i am getting an garbage value
can anybody tel me y is it hapenning,
using an float variable instead of double solves my problem.
but y is double so.

hmm, you seem to be missing the w and h keys on your keyboard.

As to your "problem", your native program is probably setting the value to a 32 bit floating point number.
Double in Java is a 64 bit floating point number. Either use a 64 bit floating point data type in the native code or use float in Java which is 32 bit.

Thanx for the reply

but why is it giving me an value like 7.16485306107743e-040 , n if i run in while loop it gives me different value each time even after the variable is intialized to ZERO i.e. 0.00

http://docs.sun.com/source/806-3568/ncg_goldberg.html has the answers to that.
It's a must read for anyone working with floating point arithmetic.

Basically what you're seeing is the imperfection of the storage of floating point numbers in fixed precision numbers based on integers (which is how every computer stores them).

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.