簡體   English   中英

NSString stringWithFormat:用於數字值

[英]NSString stringWithFormat: for a number value

過去幾天一直在使用此應用程序,直到最后才將XML數據解析為UITableView。 但是主要的問題是表上顯示的實際解析數據不是應該如何顯示。

例如,我有一個元素(在XML文件上),其值是“ 134.9”(不帶引號),如果我使用'[NSString stringWithFormat:@“£%@”,則[price objectAtIndex:indexPath.row ]];” 它在表格中顯示為'{最低=“ 134.9 \\ n \\ t”; }”。

但是,如果我使用'%d',它會以一堆隨機數出現,甚至不匹配134.9?

所以這是代碼:

cell.textLabel.text = [NSString stringWithFormat:@"£%d", [prices objectAtIndex:indexPath.row]];

XML的設置方式如下:

<PetrolPrices>
<Fuel type="Unleaded">
<Highest units="p">145.9</Highest>
<Average units="p">135.2</Average>
<Lowest units="p">131.9</Lowest>
</Fuel>
<Fuel type="Diesel">
<Highest units="p">149.9</Highest>
<Average units="p">139.3</Average>
<Lowest units="p">135.9</Lowest>
</Fuel>
<Fuel type="LRP">
<Highest units="p">136.9</Highest>
<Average units="p">136.9</Average>
<Lowest units="p">136.9</Lowest>
</Fuel>
<Fuel type="Super Unleaded">
<Highest units="p">152.9</Highest>
<Average units="p">142.3</Average>
<Lowest units="p">135.9</Lowest>
</Fuel>
<Fuel type="LPG">
<Highest units="p">76.9</Highest>
<Average units="p">76.9</Average>
<Lowest units="p">76.9</Lowest>
</Fuel>
<Link>
</Link>
</PetrolPrices>

最后,使用解析器將其稱為:

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{
    NSLog(@"ended element: %@", elementName);

    if ([elementName isEqualToString:@"Fuel"])
    {
        [item setObject:fuel_price forKey:@"Lowest"];

        [item setObject:fuel_type forKey:@"type"];

        [prices addObject:[item copy]];

        NSLog(@"adding fuel prices: %@ - %@", fuel_price, fuel_type);
    }

}

另外,如果有人可以告訴我如何獲取XML <Fuel type="Unleaded">的屬性,那么我似乎無法檢索到它。

提前致謝 :)

但是,如果我使用'%d',它將出現為一堆隨機數

%d是int的格式說明符,但是您要傳入一個對象。 如果只需要數字,請保留%d,但傳遞正確的值:

Item *item = [prices objectAtIndex:indexPath.row];
cell.textLabel.text = [NSString stringWithFormat:@"£%d", item.price];

或類似的東西,具體取決於您的對象。

看一看字符串格式說明符 這將使您的編碼更加容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM