A custom struct conveys information to those applications that have the
struct compiled-in (assuming C).
A string version of the same struct data also works for those applications
that would know the struct, but is also useful to a whole bunch of other
tools.
Yeah, there's round-off errors for floating point numbers I suppose, but
the trade-off seems like infinite to approximately zero, no?