2016-03-15 28 views

回答

11

當前Rust中的原始數字類型的所有通用故事均可在官方的num箱中找到。除了一切之外,這個箱子還包含許多用於各種基本數字類型的特徵,特別是代表浮點數的Float

Float性狀提供了大量的特異於浮點數的方法,但它也延伸NumNumCast的特徵,其允許進行數字運算,將獲得的通用類型的從任意的原始號碼。隨着Float你的代碼看起來是這樣的:

use num::{Float, NumCast}; 

fn multiply<F: Float>(n: F) -> F { 
    n * NumCast::from(2).unwrap() 
} 

NumCast::from()回報Option因爲不是所有的數字類型轉換是有意義的,但在這個特殊的情況下,它是保證工作,所以我用unwrap()