4

質問を変更しました。

NSStringを に変換したいunsigned int

なんで?PayPalで並行決済したいからです。

NSString以下に、を unsigned intに変換したいコーディングを示します。

私のクエリは次のとおりです。

    //optional, set shippingEnabled to TRUE if you want to display shipping
    //options to the user, default: TRUE
    [PayPal getPayPalInst].shippingEnabled = TRUE;

    //optional, set dynamicAmountUpdateEnabled to TRUE if you want to compute
    //shipping and tax based on the user's address choice, default: FALSE
    [PayPal getPayPalInst].dynamicAmountUpdateEnabled = TRUE;

    //optional, choose who pays the fee, default: FEEPAYER_EACHRECEIVER
    [PayPal getPayPalInst].feePayer = FEEPAYER_EACHRECEIVER;

    //for a payment with multiple recipients, use a PayPalAdvancedPayment object
    PayPalAdvancedPayment *payment = [[PayPalAdvancedPayment alloc] init];
    payment.paymentCurrency = @"USD";

    // A payment note applied to all recipients.
    payment.memo = @"A Note applied to all recipients";

    //receiverPaymentDetails is a list of PPReceiverPaymentDetails objects
    payment.receiverPaymentDetails = [NSMutableArray array];

    NSArray *emailArray = [NSArray arrayWithObjects:@"abc@def.com",@"def@abc.com", nil];

    for (int i = 1; i <= 2; i++) {
        PayPalReceiverPaymentDetails *details = [[PayPalReceiverPaymentDetails alloc] init];

        // Customize the payment notes for one of the three recipient.
        if (i == 2) {
            details.description = [NSString stringWithFormat:@"Component %d", i];
        }

        details.recipient = [NSString stringWithFormat:@"%@",[emailArray objectAtIndex:i-1]];

        unsigned order;

        if (i==1) {
            order = [[feeArray objectAtIndex:0] unsignedIntValue];
        }
        if (i==2) {
             order = [[amountArray objectAtIndex:0] unsignedIntValue];
        }

        //subtotal of all items for this recipient, without tax and shipping
        details.subTotal = [NSDecimalNumber decimalNumberWithMantissa:order exponent:-4 isNegative:FALSE];

        //invoiceData is a PayPalInvoiceData object which contains tax, shipping, and a list of PayPalInvoiceItem objects
        details.invoiceData = [[PayPalInvoiceData alloc] init];

        //invoiceItems is a list of PayPalInvoiceItem objects
        //NOTE: sum of totalPrice for all items must equal details.subTotal
        //NOTE: example only shows a single item, but you can have more than one
        details.invoiceData.invoiceItems = [NSMutableArray array];
        PayPalInvoiceItem *item = [[PayPalInvoiceItem alloc] init];
        item.totalPrice = details.subTotal;
        [details.invoiceData.invoiceItems addObject:item];

        [payment.receiverPaymentDetails addObject:details];
    }

    [[PayPal getPayPalInst] advancedCheckoutWithPayment:payment];

この変換を行う方法を誰か教えてもらえますか?

よろしくお願いします。

4

3 に答える 3

2

配列に文字列が含まれていると仮定します。

unsigned int order = (unsigned int)[[feeArray objectAtIndex:0] intValue];

unsigned int 値に直接変換する NSString メソッドは実際にはありません。ただし、値のいずれも符号付き整数ではないことを保証できる場合は、上記が機能するはずです。

于 2012-07-09T12:44:56.070 に答える
1

符号なし整数への変換はありませんが、符号付き整数 ( NSInteger) への変換があります。

NSInteger order = [[freeArray objectAtIndex:0] integerValue];
NSLog(@"order=%ld", order);

またはint:

int order = [[freeArray objectAtIndex:0] intValue];
NSLog(@"order=%d", order);
于 2012-07-09T12:45:33.800 に答える