• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 按国家/地区代码将 NSDecimalNumber 格式化为货币而不会丢失精度

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:05:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

所以现在我有以下代码:



当我传入一个包含 678071967196719797153475347466.94627863NSDecimalNumber* 时,它会被格式化为 ¥678,072,000,000,000,000,000,000,000,000(使用 currencyCode > 设置为 JPY)。如果我省略了 formatter.usesSignificantDigits = YES 行,那么它将被格式化为 ¥678,071,967,196,719,797,153,475,347,467,更接近,但仍会删除小数点和以下值。

但是,当我传入 6780.0416000000012517376 时,它的格式 正确¥6,780.04 并带有有效数字行。它被格式化为 ¥6,780 没有有效数字行。

我知道 NSNumberFormatter 可以接受任何 NSNumber 作为参数,但只能处理精确到 double 值的值,使 NSDecimalNumber 没有错误和不正确的结果。

如何在不损失精度的情况下使用货币代码格式化 NSDecimalNumbers?

谢谢



Best Answer-推荐答案


尝试设置最小小数位数:

formatter.minimumFractionDigits = 2;

HTH

关于ios - 按国家/地区代码将 NSDecimalNumber 格式化为货币而不会丢失精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36876181/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap