Guys, I understand what you mentioned. But that is not what I wanted to prove. You did a good job but proving the reverse way.
You proved 2 numbers with the same display but not equal to each other.
I accepted that and I also had a lot of examples of this kind. I fully aware of that. One of this kind is as an exercise:
How to build an accurate arrays of time slots during the day with interval of 10, 15 or 30 minutes using loop.

I want to show 2 equal numbers of the same data type (compared in memory: x=y) but when display (using the same format string) they show 2 different strings. That must not be the case. There is something else happened during comparison that I haven't find out. We might not understand each other.

I think it will be better if we can use CopyMemory to see exactly what is the value of each byte in memory for each number.

Anyway, thanks all for discussion.