I'm really confused here ... looks like a really silly mistake but I don't know what's happening. Here's little snippet of my code :
if (tempDeltaDeviation > standardDeltaDeviation) {
Log.e(TAG, "handleMessage: plus $tempDeltaDeviation : $standardDeltaDeviation")
scaleUpAnimation(deltaAnimStep, "Delta", binding.deltaImg)
}
Really basic stuff, right ? Well checking the logs I can see :
handleMessage: plus 1.57756888292539E14 : 7.8364593205657E13
Dunno but last time I was checking 1 was much smaller than 7 so why app enters if statement ?
CodePudding user response:
1.57756888292539E14
is in fact larger than 7.8364593205657E13
.
These numbers are represented in scientific notation which is used to work with very small or very large numbers. 1.57756888292539E14
means: 1.57756888292539 * 10^14
. By increasing the number after E
by one we actually increase the resulting number 10 times. By increasing it by 6, we increase the resulting number million times (10^6 = 1000000).
Making things simple, your numbers are really:
- 157756888292539 (1.57756888292539 * 100000000000000)
- 78364593205657 (7.8364593205657 * 10000000000000)
As you can see, the first number is actually bigger.