NSNumberFormatter是格式化NSDecimalNumber的唯一方法吗? [英] Is NSNumberFormatter the only way to format an NSDecimalNumber?

查看:391
本文介绍了NSNumberFormatter是格式化NSDecimalNumber的唯一方法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用NSDecimalNumber在Core Data中存储资金。我天真地使用stringWithFormat:首先格式化值,后来意识到它不支持NSDecimalNumber,而是格式化指针:(。所以在一些阅读完文档后,我学会使用NSNumberFormatter获得我想要的格式。

I'm using an NSDecimalNumber to store money in Core Data. I naively used stringWithFormat: at first to format the value, later realizing that it didn't support NSDecimalNumber and was instead formatting the pointer :(. So after some reading through the docs I learned to use the NSNumberFormatter to get the format I wanted. But this just strikes me as the "hard way". Is there any easier way than this:?

NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
priceField.text = [formatter stringFromNumber: ent.price];
[formatter release];


推荐答案

这种方法没有什么问题,到字符串。

There's nothing wrong with that approach, and it's the conventional pattern to convert opaque number classes to strings.

如果我有一个 UIView 经常使用格式化,我通常会有一个实例成员,所以我避免不必重复 alloc / init / c>格式化程序。

If I have a UIView that uses a formatter often, I'll usually have one as an instance member so I avoid having to repeatedly alloc/init/release the formatter.

这篇关于NSNumberFormatter是格式化NSDecimalNumber的唯一方法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆