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