Forums Register Login

can anyone please check my method

+Pie Number of slices to send: Send
In my code there is a problem with a double number and I don't know how to solve that
Here is the method where the problem comes from:

So, in here
gives the value 0.0 whatever the values of x and y. Even if the value of y is 350 heightPixel =0.0. Can anyone help where the problem come from? =/ and second question how to make double to be value with 6 decimal places not only 2 as in this case? Cheers
+Pie Number of slices to send: Send
Hi Bobby Marvikuan,

Welcome to CodeRanch!

The reason is simple. You are doing some division operations before doing round operation.

Hint : a/b = 0 when a and b are int and a < b.

I hope this helps.
+Pie Number of slices to send: Send
 

Anayonkar Shivalkar wrote:Hi Bobby Marvikuan,

Welcome to CodeRanch!

The reason is simple. You are doing some division operations before doing round operation.

Hint : a/b = 0 when a and b are int and a < b.

I hope this helps.


Thank you so much! But shouldn't double be to 14 decimal points by default ? why it is only to 2? and OK it could be 0 between 0-699 but why when x=700 it is not 1 still 0?=/
Thanks for your answer by the way I get where I did have a mistake:)
1
+Pie Number of slices to send: Send
 

Bobby Marvikuan wrote:and OK it could be 0 between 0-699 but why when x=700 it is not 1 still 0?


Well, as per your for loop, x will always be less than width and y will always be less than height So, if width is 700, maximum value of x would be 699 and 699/700 is 0 in int format

And about decimal points, well, if you are doing operations with double numbers, then yes, rounding off makes sense. But you are already doing operations with int (so, 1/2 would be 0, not 0.5).

I hope this helps.
2
+Pie Number of slices to send: Send
To put it more succinctly, the result of int/int is an int.
+Pie Number of slices to send: Send
 

Dennis Deems wrote:To put it more succinctly, the result of int/int is an int.


cheers
+Pie Number of slices to send: Send
 

Anayonkar Shivalkar wrote:

Bobby Marvikuan wrote:and OK it could be 0 between 0-699 but why when x=700 it is not 1 still 0?


Well, as per your for loop, x will always be less than width and y will always be less than height So, if width is 700, maximum value of x would be 699 and 699/700 is 0 in int format

And about decimal points, well, if you are doing operations with double numbers, then yes, rounding off makes sense. But you are already doing operations with int (so, 1/2 would be 0, not 0.5).

I hope this helps.


thank you!
I yam what I yam and that's all that I yam - the great philosopher Popeye. Tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 902 times.
Similar Threads
problem in getPosition and setPosition......
please can anyone check the code
Trying to make a shape.
mandelbrot casse tete
program making the whole screen to be blue instead of drawing
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 05:10:58.