When parsing a String type value to a floating-point type value in Rust, everything works fine with\"let pi: f64 = 3.14\".parse().unwrap();
.
However,
As suggested by SCappella the new line needs to be removed. The following will work:
let user_input: f64 = s.trim().parse().unwrap();
Much thanks to Jeff Muizelaar and SCappella!
SCappella pointed out that there is a newline character causing the type conversion to fail, and Jeff Muizelaar pointed out that adding a trim() method to the String, "s," would remove the newline, resolving the issue.
After realizing that was the issue, I was able to do some more accurate Googling and found this bit of Rust documentation. It explains that the read_line() method
"read[s] all bytes until a newline (the 0xA byte) is reached...Once found, all bytes up to, and including, the delimiter (if found) will be appended..."