pub trait UpperExp {
// Required method
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Expand description
E
格式。
UpperExp
trait 应该使用大写的 E
以科学计数法格式化其输出。
有关格式化程序的更多信息,请参见 模块级文档。
Examples
f64
的基本用法:
let x = 42.0; // 42.0 是 '4.2E1' 的科学计数形式
assert_eq!(format!("{x:E}"), "4.2E1");
Run在类型上实现 UpperExp
:
use std::fmt;
struct Length(i32);
impl fmt::UpperExp for Length {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let val = f64::from(self.0);
fmt::UpperExp::fmt(&val, f) // 委托 f64 的实现
}
}
let l = Length(100);
assert_eq!(
format!("l in scientific notation is: {l:E}"),
"l in scientific notation is: 1E2"
);
assert_eq!(
format!("l in scientific notation is: {l:05E}"),
"l in scientific notation is: 001E2"
);
Run