stats item in votes, should allow exponential
The `stats` item in a vote https://spec.torproject.org/dir-spec/consensus-formats.html#item:stats implies (but does not state) that the values are floating point. It doesn't specify a precision, nor does it allow exponential notation. Supposing we have `f64::MIN_POSITIVE` (2.2250738585072014e-308). This spec forces us to emit `0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022250738585072014` or round the value in some what that isn't specified. (Possibly the reasonable rounding is implied by the semantics but (a) it's not actually written in the spec (b) anyway the representation approach ought not to entangle with the semantics.) For `f64::MAX` (1.7976931348623157e308) it's even worse. We have no alternative but to emit `179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000` https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=c5a80f343158b1ef9250999acac4a64e
issue