GUI causes numerical imprecision

TL;DR If I in type zero (0), I want zero, not some arbitrary value like ‭0.0000005‬ or 0.99999911.

Steps to reproduce:

Try to draw

<svg xmlns="http://www.w3.org/2000/svg" 
   width="2"
   height="2"
   viewBox="0 0 2 2"
   version="1.1"
>
<rect
       ry="0"
       y="0"
       x="0"
       height="1"
       width="1"
       style="fill:#000000;" />
<rect
       style="fill:#000000;"
       width="1"
       height="1"
       x="1"
       y="1"
       ry="0" />
</svg>

What happened?

checkerboard.svg

UI lies while XML editor reveals the truth:

blatant_lies

What should have happened?

Numbers zero, one and two should have been represented as integers.

As XML Editor and file input handle integers correctly, my guess is that the spinboxes are responsible for this.

Document Properties editor setting incorrect viewbox (viewBox="0 0 2.0000001 2" instead of viewBox="0 0 2 2") makes things worse, but even after fixing it with XML editor, typing in zero still gives a garbage float smaller than epsilon instead of zero.

Inkscape Version and Operating System:

Inkscape 1.1-dev (5c5a1c4, 2019-12-25)

Windows 10 x64

Edited by Anon