Как показать процент сохранения в подписке на покупку приложения IOS? - PullRequest
0 голосов
/ 15 октября 2019

Итак, у меня есть недельные, ежемесячные и годовые планы подписки. То, что я хочу сделать, основано на еженедельной цене, я хочу сохранить проценты за месяц и год.

- (NSString *)weeklyPrice:(SKProduct *)product {
    CGFloat factor = 0.23; //week factor 30/7 (30days divide by 7 days)
    if([product.productIdentifier isEqualToString:AR_WEEKLY_SUBSCRIPTION_PRODUCT_ID] ||) {
        factor = 0.23;
        _weeklyPrice = product.price;
    }
    else if([product.productIdentifier isEqualToString:AR_MONTLY_3DAY_SUBSCRIPTION_PRODUCT_ID]) {
        factor = 1.0;
    }
    else if([product.productIdentifier isEqualToString:AR_YEARLY_3DAY_SUBSCRIPTION_PRODUCT_ID] ) {
        factor = 12.0;
    }
    NSLog(@"divide by %@",[NSDecimalNumber decimalNumberWithMantissa:factor exponent:0 isNegative:NO]); // here value getting 0 hence giving exception
    NSDecimalNumber *weeklyPrice = [product.price decimalNumberByDividingBy:[NSDecimalNumber decimalNumberWithMantissa:factor exponent:0 isNegative:NO]];

    NSNumberFormatter *numberFormatter = [NSNumberFormatter new];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [numberFormatter setLocale:product.priceLocale];

    return [NSString stringWithFormat:@"%@/week", [numberFormatter stringFromNumber:weeklyPrice]];
}

Для процентов экономии, используя приведенный ниже блок кода

 (NSString *)savingPercent:(SKProduct *)product {
    CGFloat factor = 0.23;
    //NSDecimalNumber *saving = nil;
    if([product.productIdentifier isEqualToString:AR_WEEKLY_SUBSCRIPTION_PRODUCT_ID] ) {
        return @"";
    }
    else if([product.productIdentifier isEqualToString:AR_MONTLY_3DAY_SUBSCRIPTION_PRODUCT_ID]) {
        factor = 1.0;
    }
    else if([product.productIdentifier isEqualToString:AR_YEARLY_3DAY_SUBSCRIPTION_PRODUCT_ID] ) {
        factor = 12.0;
    }

    CGFloat saving = 100.0-((product.price.floatValue/factor/_weeklyPrice.floatValue)*100);

    return [NSString stringWithFormat:@"SAVE %.0f%%", saving];
}

, как на этом рисунке показано сохранение в процентах Любые предложения будут полезны в режиме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...