且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-01-16 16:27:01

使用 to_string() (在此处运行示例):

  let x:u32 = 10;让s:字符串= x.to_string();println!("{}",s); 


您是对的;为了保持一致性,在Rust 1.0发布之前, to_str()被重命名为 to_string(),因为分配的字符串现在称为字符串一章 Rust编程语言 的说明.

I am unable to compile code that converts a type from an integer to a string. I'm running an example from the Rust for Rubyists tutorial which has various type conversions such as:

"Fizz".to_str() and num.to_str() (where num is an integer).

I think the majority (if not all) of these to_str() function calls have been deprecated. What is the current way to convert an integer to a string?

The errors I'm getting are:

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`

Use to_string() (running example here):

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


You're right; to_str() was renamed to to_string() before Rust 1.0 was released for consistency because an allocated string is now called String.

If you need to pass a string slice somewhere, you need to obtain a &str reference from String. This can be done using & and a deref coercion:

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

The tutorial you linked to seems to be obsolete. If you're interested in strings in Rust, you can look through the strings chapter of The Rust Programming Language.