NSString从UIPicker中提取NSString后转换为doubleValue

时间:2010-07-27 07:54:09

标签: iphone objective-c nsstring uipickerview

我有:

    NSInteger dollarrow = [ValuesPicker selectedRowInComponent:kDollar];

    NSString *dollar = [dollarlist objectAtIndex:dollarrow];

   double converteddollar=0;

我想对此进行for循环并获取double值,我正在尝试:

    for(dollar=1;dollar<=99;dollar++)
    {
    converteddollar = converteddollar + 2;
    }

现在美元包含NSString如何转换为double以成功执行操作然后

NSString *message = [[NSString alloc] initWithFormat:@"%0.2f",converteddollar];

我收到警告,应用程序崩溃了......我怎样才能纠正它。 我正在学习Objective C请帮忙。 谢谢 。 对不起,我不想==我只是想使用=

3 个答案:

答案 0 :(得分:0)

很多错误......

NSInteger dollarrow = [ValuesPicker selectedRowInComponent:kDollar];

selectedRowInComponent:方法是一种成员方法。不是静态的。您需要在实例上调用它。

==是一个比较运算符。你想要的肯定是一个任务,只有一个=标志。

您声明一个指向NSString对象的指针。但它没有初始化 您还应该为循环使用临时双变量。

我不明白你的循环应该做什么。你能解释一下吗?

答案 1 :(得分:0)

你的for循环错了。你真的想'=='吗?我想你只想'='。你不能用这样的东西吗? (我只是举个例子来指出循环中的错误。你的要求可能是不同的。而且我还没有编译代码,现在没有mac跟我在一起。所以你可能会遇到一些小错误)< / p>

double sum = 0

for (NSInteger i = 1; i <= 99; i++) {
    sum += 2;  // or whatever you need here
}

NSString *convertedStr = [NSString stringWithFormat:@"%lf", sum];

答案 2 :(得分:0)

NSString *dollar = [dollarlist objectAtIndex:dollarrow];

double converteddollar = [dollar doubleValue];应该有效(不需要你for循环)