iPhone XML 解析浮点数据

发布于 2024-08-18 08:11:39 字数 672 浏览 1 评论 0原文

我正在读取 XML 数据并创建对象,但我需要一些对象变量是浮点数。使用 - (void)parser:(NSXMLParser *)parserfoundCharacters:(NSString *)string 它显然变成了一个字符串,我的浮点变量将设置为 0.000000。

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI QualifiedName:(NSString *)qName 中,我在设置值时尝试了类似的操作到对象,但它显然是不兼容的类型,因为 setValue 需要一个 (id)key (而且我刚刚意识到 temp 无论如何都设置为 0.000000,所以 floatValue 也不起作用)。

if([elementName isEqualToString:@"longitude"]) 
{
    float temp = [currentElementValue floatValue];
    [myObj setValue:temp forKey:elementName];
}

有谁知道如何解决它,或者我只需将其设置为我的对象中的 NSStrings 并随后将其转换为浮点数?

I'm reading XML data and creating objects, but I need some of my object variables to be floats. And with the - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string it obviously becomes a string and my float variables will be set to 0.000000.

In the - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName I tried something like this when setting the value to the object, but it's apparently incompatible types as setValue wants a (id)key (and I just realized that temp was set to 0.000000 anyways, so the floatValue doesn't work either).

if([elementName isEqualToString:@"longitude"]) 
{
    float temp = [currentElementValue floatValue];
    [myObj setValue:temp forKey:elementName];
}

Does anyone have any idea how to solve it or do I just have to set it to NSStrings in my object and convert it to floats afterwards?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

窝囊感情。 2024-08-25 08:11:39

解析的时候直接保存为字符串即可。然后当您需要它进行计算时将其转换为
像上面那样使用 [NSString floatValue] 进行浮动。

不过,我认为 float 无法保存 NSString 返回的值,因此请尝试使用您的 temp 作为 CGFloat

xml 无法保存字符串以外的任何内容,因此这种方法是可以的。

Just save it as a string when parsing. Then when you need it for calculations convert it to a
float with [NSString floatValue] as you do above.

However I think that float can't hold the value NSString returns so try it with your temp as a CGFloat instead.

There is no way for the xml to hold anything other that strings so this approach is OK.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文