APL 6766
,/'∊' ',¨{a←⌽'0.....9.86'[⎕D⍳b←⍕⍵]⋄'.'∊a:b⋄('0'=⊃a)∨⍵=⍎a:b⋄b,'.'}¨0,⍳
Explanation:
¨0,⍳ applies the function to each number 0-n
a←⌽'0.....9.86'[⎕D⍳b←⍕⍵] inverts 6s and 9s, leaving 8s and 0s, and replacing other numbers with dots. Reverses vector after substitution.
'.'∊a if there is a dot in the number....
('0'=⊃a) .. or if the number starts with 0...
⍵=⍎a or if the (inverted) number is the same as original
:b then print the original number
b,'.' else print a dot in the end
,/'∊' ',¨ Finally to give the result in the asked format i add a single space after each result and join them all
Try it on tryapl.org
Note that in the online interpreter the ⍎ function doesn't work so i had to substitute it with 2⊃⎕VFI which does the same in this case, executes and returns the number, given a string.