There is a problem with your approach. Let Z be the integers, let Z_1 be the integers with one decomal appended, let Z_2 be the integers with two decimals appended and so on.

I interpret your idea as giving the list

0,1,-1,2,-2, [and the rest], 0.0,1.0,0.1, [and the rest of number from Z_1], and so on

Did this make sense? So first you list _all_ the integers, then after this you list all elements from Z_1, etc. The problem with this is that it does not define a bijection onto the naturals. Indeed, the list would assign:

0 -> 1

1 -> 2

-1 -> 3

2 -> 4

-2 -> 5

...

in which you will use up all of the natural numbers with the integers alone - you will never get to Z_1, Z_2, etc.

Anyway, there are more ways of approaching this problem. For example, you may know of a theorem, which says that if you have a countable collection of sets, each of which is countable, then their union is also countable. If you decide on using this theorem, you should of course argue carefully, why each Z_n is countable.

You can also supply a bijection from the union of all the Z_n (including Z) to N by supplying a list, in which each element of the list corresponds to a natural number and vice versa. But let us only consider the positive numbers in Z and Z_n, because if we can find a bijection for this case, then we can just weave the corresponding negative numbers into the list.

For example, let d(x) denote the number of digits of the number x (so d(7)=1 and d(7.123) = 4).

Start out by listing all of the numbers x in the union of the Z_n including Z with the property that x + d(x) is at most 2.

There is only one such number, namely x=1 (any number of two digits or more has d(x) greater than or equal to 2, and so x+d(x) is at least x+2, which is strictly greater than 2).

Then list the finite set of numbers x, such that x+d(x) is at most 3.

As before, three-digit numbers won't work here, because d(x)=3 for such an x. We do get one more one-digit number, namely x=2. And x=0.1, 0.2, 0.3, 0.4, ..., 0.9 also works.

Then list the finite set of numbers x, such that x+d(x) is at most 4 (of course we don't include numbers, we have already listed). We get x=3, and x=1.1,1.2,...,1.9, and also x=0.01,0.02,0.03,...,0.09,[0.10 is already in the list],0.11,0.12,...,0,99.

Continue in this way, where the general step is to list the finite set of numbers for which x+d(x) is at most n. Important question: Why are there only finitely many such numbers? When x+d(x) can be at most n, then the only numbers from Z that works are 1,2,...,n-1 (which is finitely many). Similarly only finitely many numbers from Z_1 works, and so on, all the way up to Z_{n-1}. Notice that Z_n has no numbers that work in this case.

This was a very wordy description. I hope it makes sense, otherwise ask away.