数值保留几位小数后四舍五入、向上取值、向下取值、

1、在.h文件

#import <Foundation/Foundation.h>


typedef enum{
    QHIntTypeRound = 0, //四舍五入
    QHIntTypeCeil = 1, //向上取值
    QHIntTypeFloor = 2, //向下取值
}QHIntType;
@interface NSObject (timeStamp)

+ (NSString *)timechange:(NSString *)timeStr withFormat:(NSString *)format;

+ (NSString *)saveLength:(NSInteger)length andOldStr:(NSString *)str andType:(QHIntType)qhType;
@end

2、在.m文件

#import "NSObject+timeStamp.h"

@implementation NSObject (timeStamp)

+ (NSString *)timechange:(NSString *)timeStr withFormat:(NSString *)format
{
    if (timeStr.length>9) {
        NSTimeInterval time =[[timeStr substringToIndex:10] doubleValue];
        NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
        //实例化一个NSDateFormatter对象
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        //设定时间格式,这里可以设置成自己需要的格式
        [dateFormatter setDateFormat:format];
        NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];
        return currentDateStr;
    }else {
          NSTimeInterval time =[timeStr  doubleValue];
        NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
        //实例化一个NSDateFormatter对象
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        //设定时间格式,这里可以设置成自己需要的格式
        [dateFormatter setDateFormat:format];
        NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];
        if (timeStr.length<1) {
            return @"";
        }
        return currentDateStr;
     //   return QHLocalizedString(@"CurrencyExchangeCommissionNoNet", nil);
    }
    
}

+ (NSString *)saveLength:(NSInteger)length andOldStr:(NSString *)str andType:(QHIntType)qhType{
    
    if (!str) {
        return @"";
    }
    NSString *resultStr;
    NSArray *array = [str componentsSeparatedByString:@"."];
    if (array.count >1) {
        NSString *firstt = array[0];
        NSString *second = array[1];
        if (second.length > length) {
            NSRange range = {length,1};
            NSString *round = [second substringWithRange:range];
            NSString *newStr = [second substringToIndex:length];
            switch (qhType) {
                case QHIntTypeRound:
                {
                    if ([round intValue]>length) {
                        newStr = [NSString stringWithFormat:@"%@",@([newStr intValue]+1)];
                        
                    }
                }
                    break;
                case QHIntTypeCeil:
                {
                     newStr = [NSString stringWithFormat:@"%@",@([newStr intValue]+1)];
                }
                    break;
                case QHIntTypeFloor:{
                    
                }
                default:
                    break;
            }
            
            resultStr = [NSString stringWithFormat:@"%@.%@",firstt,newStr];
            
            return resultStr ;
            
        }else{
            return str;
        }
        
        
    }else{
        return str;
    }
    
    

}

@end

3、说明:第一方法是将时间戳转换成指定时间格式,第二方法是将传入的数值保留指定小数后进行四舍五入、向上取值、向下取值等操作。

转载于:https://my.oschina.net/u/2519763/blog/906622

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值