如何从num crate解析BigInt?

5

我正在尝试使用BigInt。我的代码如下:

extern crate num;
use num::bigint::BigInt;
...
println!("{}", from_str::<BigInt>("1")); //this is line 91 in the code

在我的Cargo.toml文件中,我有以下内容:
[dependencies]
num = "0.1.30"

我所做的似乎与这个文档还有这个文档以及Stack Overflow上的一个答案中所说的一致。

然而,我得到了以下错误:

Compiling example v0.1.0 (file:///C:/src/rust/example)
src\main.rs:91:20: 91:38 error: unresolved name `from_str` [E0425]
src\main.rs:91     println!("{}", from_str::<BigInt>("1"));
1个回答

5

看起来已经弄清楚了,目前的语法似乎是:

"8705702225074732811211966512111".parse::<BigInt>().unwrap();

更好的做法是按照以下步骤操作:
match "8705702225074732811211966512111".parse::<BigInt>() {
    Ok(big) => {
        ...

为了让事情绝对清楚:所有使用 from_str 的示例都已过时,该函数已被 .parse 取代。 - kirelagin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接