如何从整数转换为字符串?

问题描述 投票:0回答:2

我无法编译将类型从整数转换为字符串的代码。我正在运行 Rust for Rubyists 教程 中的示例,其中包含各种类型转换,例如:

"Fizz".to_str()
num.to_str()
(其中
num
是整数)。

我认为这些

to_str()
函数调用中的大多数(如果不是全部)已被弃用。当前将整数转换为字符串的方法是什么?

我遇到的错误是:

error: type `&'static str` does not implement any method in scope named `to_str`
error: type `int` does not implement any method in scope named `to_str`
string int type-conversion rust
2个回答
237
投票

使用

to_string()
此处运行示例):

let x: u32 = 10;
let s: String = x.to_string();
println!("{}", s);

你是对的;为了保持一致性,在 Rust 1.0 发布之前,

to_str()
被重命名为
to_string()
,因为分配的字符串现在称为
String

如果需要在某处传递字符串切片,则需要从

&str
获取
String
引用。这可以使用
&
和 deref 强制来完成:

let ss: &str = &s;   // specifying type is necessary for deref coercion to fire
let ss = &s[..];     // alternatively, use slicing syntax

您链接到的教程似乎已过时。如果您对 Rust 中的字符串感兴趣,可以查看 The Rust 编程语言的字符串章节。


0
投票
您还可以使用以下方法来获取字符串切片:

let x: u32 = 10; let var: &str = x.to_string().as_str();
    
© www.soinside.com 2019 - 2024. All rights reserved.