Better all-round solution:<p><pre><code>  $ .&#x2F;txr
  This is the TXR Lisp interactive listener of TXR 123.
  Use the :quit command or type Ctrl-D on empty line to exit.
  1&gt; (tostring (+ 0.1 0.2))
  &quot;0.3&quot;
  2&gt; (let ((*flo-print-precision* flo-max-dig)) (tostring (+ 0.1 0.2)))
  &quot;0.30000000000000004&quot;
  3&gt; *flo-print-precision*
  15
  4&gt; flo-dig
  15
  5&gt; flo-max-dig
  17
</code></pre>
- 15 by default is reasonable for everyday programming; we don&#x27;t need results like 0.30000....4 popping up in our faces.<p>- provide the constant which indicates how many decimal digits are needed to preserve the binary value exactly: this is needed for faithful storage and communication --- we wouldn&#x27;t want a Sexp-based RPC call to behave differently from a local computation.<p>- provide the printing precision default as a special variable which can be overridden over a dynamic scope.