NSDictionary 在检索时丢失小数位
我有一个类似于
“{”price”:1.0}”的json字符串,使用json框架我将此json字符串转换为NSDictionary。
现在我正在从 NSDictionary 检索值,如下所示,
NSString *text = [[dictionary objectForKey:@"price] description];
我只返回“1”,结果小数位和 0 消失了。
但如果我有一个像这样的 json 字符串
"{"price":1.11}" 那么它就可以正常工作,这意味着我在文本中返回 1.11。
我正在我的应用程序上显示价格信息,它看起来有点连线只显示数字 1 :)
有谁如何返回 1.0 而不是 1 吗?
I have a json string something like this
"{"price":1.0}", using the json-framework I am converting this json string to NSDictionary.
Now I am retrieving the value from NSDictionary as below
NSString *text = [[dictionary objectForKey:@"price] description];
I am getting back only "1" as a result the decimal place and the 0 is gone.
But if i have a json string like this
"{"price":1.11}" then it just works fine, which means I get back 1.11 in my text.
I am displaying the price information on my app and it looks little wired to just display a number 1 :)
Does any one how do get back 1.0 instead of just 1?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您使用的 json 字符串不代表字符串,它代表数字,因此 1 和 1.0 是相同的。如果它是一个字符串,它应该是“{”price“:”1.0“}”。不过,如果您只关心显示,则可以使用
[NSString stringWithFormat:@".2f",value];
始终返回具有 2 位小数的值。The json string you are using does not represent a string, it represents a number so 1 and 1.0 are the same. For it to be a string it should be "{"price":"1.0"}". Though if all you care about is the display you can use
[NSString stringWithFormat:@".2f",value];
to always return a value with 2 decimal places.