use ron::{
de::{Position, SpannedError},
Error,
};
#[ test]
fn test_float_literal_parsing() {
assert_eq!(ron::from_str("inf" ), Ok(f64::INFINITY));
assert_eq!(ron::from_str("+inf" ), Ok(f64::INFINITY));
assert_eq!(ron::from_str("-inf" ), Ok(f64::NEG_INFINITY));
assert!(ron::from_str::<f64>("NaN" ).unwrap().is_nan());
assert!(ron::from_str::<f64>("+NaN" ).unwrap().is_nan());
assert!(ron::from_str::<f64>("-NaN" ).unwrap().is_nan());
assert_eq!(ron::from_str("1" ), Ok(1 .0 _f64));
assert_eq!(ron::from_str("+1" ), Ok(1 .0 _f64));
assert_eq!(ron::from_str("-1" ), Ok(-1 .0 _f64));
assert_eq!(ron::from_str("1e3" ), Ok(1000 .0 _f64));
assert_eq!(ron::from_str("1e+1" ), Ok(10 .0 _f64));
assert_eq!(ron::from_str("7E-1" ), Ok(0 .7 _f64));
assert_eq!(ron::from_str("1." ), Ok(1 .0 _f64));
assert_eq!(ron::from_str("+1.1" ), Ok(1 .1 _f64));
assert_eq!(ron::from_str("-1.42" ), Ok(-1 .42 _f64));
assert_eq!(ron::from_str("-1.5e3" ), Ok(-1500 .0 _f64));
assert_eq!(ron::from_str("1.e+1" ), Ok(10 .0 _f64));
assert_eq!(ron::from_str("7.4E-1" ), Ok(0 .74 _f64));
assert_eq!(ron::from_str(".1" ), Ok(0 .1 _f64));
assert_eq!(ron::from_str("+.1" ), Ok(0 .1 _f64));
assert_eq!(ron::from_str("-.42" ), Ok(-0 .42 _f64));
assert_eq!(ron::from_str("-.5e3" ), Ok(-500 .0 _f64));
assert_eq!(ron::from_str(".3e+1" ), Ok(3 .0 _f64));
assert_eq!(ron::from_str(".4E-1" ), Ok(0 .04 _f64));
assert_eq!(
ron::from_str::<f64>("1_0.1_0" ),
Err(SpannedError {
code: Error::FloatUnderscore,
position: Position { line: 1 , col: 2 },
})
);
assert_eq!(
ron::from_str::<f64>("1_0.10" ),
Err(SpannedError {
code: Error::FloatUnderscore,
position: Position { line: 1 , col: 2 },
})
);
assert_eq!(
ron::from_str::<f64>("10.1_0" ),
Err(SpannedError {
code: Error::FloatUnderscore,
position: Position { line: 1 , col: 5 },
})
);
assert_eq!(
ron::from_str::<f64>("1.0e1.0" ),
Err(SpannedError {
code: Error::ExpectedFloat,
position: Position { line: 1 , col: 8 },
})
);
}
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-20)
¤
*© Formatika GbR, Deutschland