给定这个Rust程序,它打印1.23456
:
use std::fmt;
struct Foo(f64);
impl fmt::Display for Foo {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(formatter, "{}", self.0)
}
}
fn main() {
println!("{:.2}", Foo(1.23456));
}
要打印1.23
,对函数fmt
的主体进行哪项最简单的更改?
通常,有没有一种简单的方式在函数fmt
内使用由打印对象的代码设置的相同格式化选项?我知道Formatter对象有几个访问格式化选项的方法,但有没有一种简单的方法可以始终获得调用println!("{:.2}", Foo(1.23456).0);
所获得的相同结果?