Crates.io | cluatoi |
lib.rs | cluatoi |
version | 0.2.1 |
source | src |
created_at | 2018-04-03 16:33:23.768788 |
updated_at | 2018-10-23 22:49:59.86952 |
description | Parsing the byte sequence of the ascii characters and safely converting them to integers. |
homepage | |
repository | https://github.com/clucompany/cluAtoi.git |
max_upload_size | |
id | 58818 |
size | 38,986 |
Parsing the byte sequence of the ascii characters and safely converting them to integers.
#1
extern crate cluatoi;
use cluatoi::Atoi;
fn main() {
let isize = isize::atoi(b"-1245").unwrap();
//-1245isize
let usize = usize::atoi(b"1245").unwrap();
//1245usize
let my_int = u64::atoi_stop(b"1245T", b'T').unwrap();
//1245u64
let my_int = u64::atoi_iter(b"1245".iter()).unwrap();
//1245u64
}
#2
extern crate cluatoi;
use cluatoi::Atoi;
fn main() {
let array = b"1024!18446744073709551610!-1!X";
let mut array_iter = array.iter();
let num_0 = u64::atoi_iter_wait_stop(&mut array_iter, b'!').unwrap();
//1024u64
let num_1 = u64::atoi_iter_wait_stop(&mut array_iter, b'!').unwrap();
//18446744073709551610u64
let num_err = usize::atoi_iter_wait_stop(&mut array_iter, b'!');
//ERROR, ISIZE VALUE + USIZE TYPE
//Err(ByteUnk(45))
let end_byte = array_iter.next().unwrap();
//X
println!("{}!{}!{:?}!{}", num_0, num_1, num_err, end_byte);
//1024!18446744073709551610!Err(ByteUnk(45))!88
}
Разбор байтовой последовательности символов ascii и безопасное преобразование их в целые числа.
Преобразование ASCII byte последовательности в целочисленные примитивы Rust.
Защита предотвращяющяя переполнения чисел
Учет особенностей signed, unsigned примитивов
Возврат перечисления в случае ошибки
Использование IterByteArray
Copyright 2018 #UlinProject Денис Котляров
Licensed under the Apache License, Version 2.0