To answer your implied question, yes, 0 is a number. Every construction of the integers contains 0, and most people accept it as a natural number.
Now then…
We are given a natural number 0 and a unary operator ’ that returns another natural number. Usually, we take the natural numbers as sets, with 0 = {} and n’ = n U {n}.
In that case, x + 0 = x and x + y’ = (x + y)’. Similarly, x * 0 = 0 and x * y’ = (x * y) + x. It’s possible, although not easy, to show that these operations have all the familiar properties.
We can now define the integers from the naturals. We take them in pairs (a, b), and make some definitions. (a, b) = (c, d) iff a + d = b + c–this is an equivalence relation, so we can make equivalence classes here. (a, b) + (c, d) is taken to be (a + c, b + d). (a, b) * (c, d) is taken to be (ac + bd, ad + bc).
We note that (a, b) = (a + n, b + n), so we can regard (n, n) as zero, and (b, a) as the additive inverse of (a, b). So (a, b) - (c, d) = (a, b) + (d, c).
This may be clearer if you keep in mind that (a, b) represents a - b.
We can now create the rationals as ordered pairs of integers. (a, b) = (c, d) iff ad = bc–this is only an equivalence relation when the second element is restricted to be non-zero, so we disallows pairs of the form (a, 0). (a, b) + (c, d) is taken to be (ad + bc, bd), and (a, b) * (c, d) is taken to be (ac, bd).
We note that (a * n, b * n) = (a, b), so we can take (n, n) as 1, and define (b, a) as the multiplicative inverse of (a, b).
This may be clearer if you keep in mind that (a, b) represents a/b.
From there, we can construct the reals, but that’s a bit more complicated, and I’m not going to discuss it here.