INNER CODE UNIT · Rust
parse_numeric
steineggerlab/folddisco · lib/pdbtbx-cif/src/lib.rs:217
fn parse_numeric(text: &str) -> Option<Value> {
let mut chars_to_remove = 0;
let first_char = text.chars().next().unwrap();
// Parse a possible sign
let mut minus = false;
if first_char == '-' {
minus = true;
chars_to_remove += 1;
} else if first_char == '+' {
chars_to_remove += 1;
}
// Parse the integer part
let mut integer_set = false;
let mut value = 0;
for c in text.chars().skip(chars_to_remove) {
if let Some(num) = c.to_digit(10) {
integer_set = true;