Human-readable but precise printing of data

Accidently I think I have an answer for you… just messed up with it a little bit myself.
So digging through the julia base I think this is what you are looking for:

sprintf_exact(x) = sprint(0,print,x; env = (:compact => false))

for your simple example it works.
lets validate it:

julia> d = Dict(:a => √2, :b => fill(1/3, 3), :c => 1f0);

julia> f = eval(parse(sprintf_exact(d)));

julia> f === d
false

julia> f == d
true