File tree Expand file tree Collapse file tree 2 files changed +4
-4
lines changed Expand file tree Collapse file tree 2 files changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -292,10 +292,9 @@ impl Display for Number {
292292 #[ cfg( not( feature = "arbitrary_precision" ) ) ]
293293 fn fmt ( & self , formatter : & mut fmt:: Formatter ) -> fmt:: Result {
294294 match self . n {
295- N :: PosInt ( u) => Display :: fmt ( & u, formatter) ,
296- N :: NegInt ( i) => Display :: fmt ( & i, formatter) ,
297- // Preserve `.0` on integral values, which Display hides
298- N :: Float ( f) => Debug :: fmt ( & f, formatter) ,
295+ N :: PosInt ( u) => formatter. write_str ( itoa:: Buffer :: new ( ) . format ( u) ) ,
296+ N :: NegInt ( i) => formatter. write_str ( itoa:: Buffer :: new ( ) . format ( i) ) ,
297+ N :: Float ( f) => formatter. write_str ( ryu:: Buffer :: new ( ) . format_finite ( f) ) ,
299298 }
300299 }
301300
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ fn value_number() {
2828 assert_eq ! ( format!( "{:?}" , json!( -1 ) ) , "Number(-1)" ) ;
2929 assert_eq ! ( format!( "{:?}" , json!( 1.0 ) ) , "Number(1.0)" ) ;
3030 assert_eq ! ( Number :: from_f64( 1.0 ) . unwrap( ) . to_string( ) , "1.0" ) ; // not just "1"
31+ assert_eq ! ( Number :: from_f64( 12e40 ) . unwrap( ) . to_string( ) , "1.2e41" ) ;
3132}
3233
3334#[ test]
You can’t perform that action at this time.
0 commit comments