From e003ff4d65d866fdf9b0060717858393b00c3d1a Mon Sep 17 00:00:00 2001 From: Trevor Spiteri Date: Fri, 5 Feb 2021 19:03:58 +0100 Subject: [PATCH] use standard library for float from_str_radix with radix 10 --- src/lib.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index a6c202c9..0beed61f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -224,6 +224,13 @@ macro_rules! float_trait_impl { use self::FloatErrorKind::*; use self::ParseFloatError as PFE; + // Special case radix 10 to use more accurate standard library implementation + if radix == 10 { + return src.parse().map_err(|_| PFE { + kind: if src.is_empty() { Empty } else { Invalid }, + }); + } + // Special values match src { "inf" => return Ok(core::$t::INFINITY),