项目方法集合HTools(3)

2018-07-10  本文已影响12人  阿洋12138

这是我在项目中慢慢积累的方法集合,有些是自己写的,有些是觉得网上的写的挺好的就给自己搬过来了。

github地址链接:https://github.com/KingXcode/HTTools

- (NSString * (^)(NSString *number))add;        //加
- (NSString * (^)(NSString *number))sub;        //减
- (NSString * (^)(NSString *number))multiply;   //乘
- (NSString * (^)(NSString *number))divid;      //除
/**
 传参是无符号整型的字符串
 */
- (NSString * (^)(NSString *number))raisingToPower;//number次方
/**
 传参是short字符串
 */
- (NSString * (^)(NSString *number))multiplyingByPowerOf10;//乘以 10的number次方

加法:@"10".add(@"10");
减法:@"10".sub(@"10");
乘法:@"10".multiply(@"10");
除法:@"10".divid(@"10");

混合计算:@"10".add(@"10").sub(@"1").multiply(@"3");

- (NSString *(^)(NSString *))add
{
    return ^(NSString *number) {
        NSDecimalNumber *first = [NSDecimalNumber decimalNumberWithString:self];
        NSDecimalNumber *second = [NSDecimalNumber decimalNumberWithString:number];
        NSDecimalNumber *result = [first decimalNumberByAdding:second];
        return result.stringValue;
    };
}

- (NSString *(^)(NSString *))sub
{
    return ^(NSString *number) {
        NSDecimalNumber *first = [NSDecimalNumber decimalNumberWithString:self];
        NSDecimalNumber *second = [NSDecimalNumber decimalNumberWithString:number];
        NSDecimalNumber *result = [first decimalNumberBySubtracting:second];
        return result.stringValue;
    };
}

- (NSString *(^)(NSString *))multiply
{
    return ^(NSString *number) {
        NSDecimalNumber *first = [NSDecimalNumber decimalNumberWithString:self];
        NSDecimalNumber *second = [NSDecimalNumber decimalNumberWithString:number];
        NSDecimalNumber *result = [first decimalNumberByMultiplyingBy:second];
        return result.stringValue;
    };
}

- (NSString *(^)(NSString *))divid
{
    return ^(NSString *number) {
        NSDecimalNumber *first = [NSDecimalNumber decimalNumberWithString:self];
        NSDecimalNumber *second = [NSDecimalNumber decimalNumberWithString:number];
        NSDecimalNumber *result = [first decimalNumberByDividingBy:second];
        return result.stringValue;
    };
}
- (NSString *(^)(NSString *))raisingToPower
{
    return ^(NSString *number) {
        NSDecimalNumber *first = [NSDecimalNumber decimalNumberWithString:self];
        NSDecimalNumber *second = [NSDecimalNumber decimalNumberWithString:number];
        NSDecimalNumber *result = [first decimalNumberByRaisingToPower:second.unsignedIntegerValue];
        return result.stringValue;
    };
}

- (NSString *(^)(NSString *))multiplyingByPowerOf10
{
    return ^(NSString *number) {
        NSDecimalNumber *first = [NSDecimalNumber decimalNumberWithString:self];
        NSDecimalNumber *second = [NSDecimalNumber decimalNumberWithString:number];
        NSDecimalNumber *result = [first decimalNumberByMultiplyingByPowerOf10:second.shortValue];
        return result.stringValue;
    };
}
上一篇下一篇

猜你喜欢

热点阅读