本文簡要介紹rust語言中 f32.total_cmp
的用法。
用法
pub fn total_cmp(&self, other: &f32) -> Ordering
返回 self 和其他值之間的排序。與浮點數之間的標準部分比較不同,此比較始終根據 IEEE 754(2008 修訂版)浮點標準中定義的 totalOrder 謂詞生成排序。這些值按以下順序排序:
- 負麵安靜NaN
- 負麵信號NaN
- 負無窮大
- 負數
- 負次正規數
- 負零
- 正零
- 正次正規數
- 正數
- 正無窮大
- 積極信號NaN
- 積極安靜NaN
請注意,此函數並不總是與 f32
的 PartialOrd
和 PartialEq
實現一致。特別是,它們將負零和正零視為相等,而total_cmp
則不然。
示例
#![feature(total_cmp)]
struct GoodBoy {
name: String,
weight: f32,
}
let mut bois = vec![
GoodBoy { name: "Pucci".to_owned(), weight: 0.1 },
GoodBoy { name: "Woofer".to_owned(), weight: 99.0 },
GoodBoy { name: "Yapper".to_owned(), weight: 10.0 },
GoodBoy { name: "Chonk".to_owned(), weight: f32::INFINITY },
GoodBoy { name: "Abs. Unit".to_owned(), weight: f32::NAN },
GoodBoy { name: "Floaty".to_owned(), weight: -5.0 },
];
bois.sort_by(|a, b| a.weight.total_cmp(&b.weight));
相關用法
- Rust f32.to_bits用法及代碼示例
- Rust f32.to_radians用法及代碼示例
- Rust f32.to_be_bytes用法及代碼示例
- Rust f32.to_ne_bytes用法及代碼示例
- Rust f32.to_le_bytes用法及代碼示例
- Rust f32.to_int_unchecked用法及代碼示例
- Rust f32.to_degrees用法及代碼示例
- Rust f32.tan用法及代碼示例
- Rust f32.trunc用法及代碼示例
- Rust f32.tanh用法及代碼示例
- Rust f32.exp用法及代碼示例
- Rust f32.hypot用法及代碼示例
- Rust f32.minimum用法及代碼示例
- Rust f32.sqrt用法及代碼示例
- Rust f32.abs_sub用法及代碼示例
- Rust f32.cos用法及代碼示例
- Rust f32.is_sign_positive用法及代碼示例
- Rust f32.log10用法及代碼示例
- Rust f32.from_ne_bytes用法及代碼示例
- Rust f32.recip用法及代碼示例
- Rust f32.sinh用法及代碼示例
- Rust f32.ln_1p用法及代碼示例
- Rust f32.min用法及代碼示例
- Rust f32.from_be_bytes用法及代碼示例
- Rust f32.atan2用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 f32.total_cmp。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。