小编she*_*hek的帖子

从特定于语言环境的字符串中获取NSDecimalNumber?

我有一些特定于语言环境的字符串(例如,0.01或0,01).我想将此字符串转换为NSDecimalNumber.从我迄今为止在网站上看到例子来看,这是通过使用NSNumberFormatter a la来实现的:

NSString *s = @"0.07";

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setGeneratesDecimalNumbers:YES];
NSDecimalNumber *decimalNumber = [formatter numberFromString:s];

NSLog([decimalNumber stringValue]); // prints 0.07000000000000001
Run Code Online (Sandbox Code Playgroud)

我正在使用10.4模式(除了根据文档推荐,它也是iPhone上唯一可用的模式),但向格式化程序指示我想生成十进制数字.请注意,我已经简化了我的示例(我实际上正在处理货币字符串).但是,我显然做错了,它返回一个值,说明浮点数的不精确.

将特定于语言环境的特定数字字符串转换为NSDecimalNumber的正确方法是什么?

编辑:请注意,我的例子是为了简单起见.我问的问题也应该与何时需要获取特定于语言环境的货币字符串并将其转换为NSDecimalNumber有关.此外,这可以扩展为特定于语言环境的百分比字符串,并将其转换为NSDecimalNumber.

iphone cocoa cocoa-touch objective-c internationalization

15
推荐指数
2
解决办法
1万
查看次数

如何确定用户在MPMoviePlayer实例中的当前位置?

我有一部很长的电影,我将放在一个应用程序中,我想知道什么是让用户回到他们中断点的最佳方式.有人能指出我正确的方向吗?

因此,如果用户正在观看电影,点击完成,是否有当前时间的通知或我可以存储的内容并在那个时间再次加载实例?

谢谢!

iphone mpmovieplayercontroller

2
推荐指数
1
解决办法
1943
查看次数