一般電商APP金錢格式轉換

對有一個電商APP來說,顯示商品價格是最尋常不過了,但是有一個問題,就是小數顯示時精準度的問題,爲此,蘋果官方有一個API可以解決此問題。

NSDecimalNumber,可以設置精準度,其有幾個屬性可以設置,如下:

NSRoundPlain,   // Round up on a tie //貌似取整 

NSRoundDown,    // Always down == truncate  //只舍不入

NSRoundUp,      // Always up    // 只入不捨

NSRoundBankers  // on a tie round so last digit is even  貌似四捨五入

下面給出一個本人項目中用到代碼範例:

/**
 *    @brief    截取指定小數位的值
 *
 *    @param     price     需要轉化的數據
 *    @param     position     有效小數位
 *
 *    @return    截取後數據
 */
+ (NSDecimalNumber *)notRounding:(NSString *)price
{
    NSDecimalNumberHandler* roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundUp scale:0 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:YES];
    //固定12期,先計算出每期金額
    NSDecimalNumber* priceNum=[NSDecimalNumber decimalNumberWithString:price];
    NSDecimalNumber* formatPrice=[priceNum decimalNumberByDividingBy:[NSDecimalNumber decimalNumberWithString:@"12"] withBehavior:roundingBehavior];


    return formatPrice;
}

產品需求的小數保留兩位,只入不捨,用上面的代碼可以輕鬆實現,希望可以幫到你!

發佈了48 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章