在textField iphone应用程序中显示格式化数字

在textField iphone应用程序中显示格式化数字,iphone,objective-c,Iphone,Objective C,我从XMl文件中获取数据,XMl中的距离如下 <distance>13.472987570222 km</distance> 13.472987570222公里 现在我只想在后面显示两个数字。操作人员i、 我想在文本字段中显示13.47公里。我已将此距离数字保存在NSString*距离中 谢谢您可以使用非常强大的classNSNumberFormatter: NSNumberFormatter *numberFormatter = [[NSNumberFormatte

我从XMl文件中获取数据,XMl中的距离如下

<distance>13.472987570222 km</distance>
13.472987570222公里
现在我只想在后面显示两个数字。操作人员i、 我想在文本字段中显示13.47公里。我已将此距离数字保存在NSString*距离中


谢谢

您可以使用非常强大的class
NSNumberFormatter

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setPositiveFormat:@"##0.## km"];
[numberFormatter setNegativeFormat:@"##0.## km"];
NSNumber *number = [NSNumber numberWithDouble:[distance doubleValue]];
NSString *formattedString = [numberFormatter stringFromNumber:number];

有关更多信息,请阅读

您可以使用非常强大的类
NSNumberFormatter

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setPositiveFormat:@"##0.## km"];
[numberFormatter setNegativeFormat:@"##0.## km"];
NSNumber *number = [NSNumber numberWithDouble:[distance doubleValue]];
NSString *formattedString = [numberFormatter stringFromNumber:number];
欲了解更多信息,请阅读

这将达到2便士。:)


这将达到2便士。:)

我觉得您应该将xml字符串转换为浮点或其他适当类型,然后在显示值时使用格式说明符。

我觉得您应该将xml字符串转换为浮点或其他适当类型,然后在显示值时使用格式说明符值。

这不是一个好的决定,因为如果数字为,int=
100001
然后你将显示
100001.00
足够公平-就我个人而言,如果我四舍五入到小数点,我总是使用这个-格式的一致性看起来很好:)我也使用了它,但问题是它显示的是0.00,因为距离也包括公里,我想啊,查看NSString的
stringByReplacingOccurrencesOfString:with字符串:
method then.:)应该很容易删除
km
。这不是一个好的决定,因为如果数字是,int=
100001
然后你将显示
100001.00
足够公平-就我个人而言,如果我四舍五入到小数点,我总是使用这个-格式的一致性看起来很好:)我也使用了它,但问题是它显示的是0.00,因为距离也包括公里,我想啊,查看NSString的
stringByReplacingOccurrencesOfString:with字符串:
method then.:)应该很容易移除
km