NSNumberFormatter:大量显示“k”而不是“,000”?

2023-11-24

如果可能的话,我想将我的大数字从 100,000 美元更改为 10 万美元。

这是我到目前为止所拥有的:

let valueFormatter = NSNumberFormatter()
valueFormatter.locale = NSLocale.currentLocale()
valueFormatter.numberStyle = .CurrencyStyle
valueFormatter.maximumFractionDigits = 0

我的问题

使用 NSNumberFormatter,如何输出 $100K 而不是 $100,000?


我原来的问题:

这是我到目前为止所拥有的:

self.lineChartView.leftAxis.valueFormatter = NSNumberFormatter()
self.lineChartView.leftAxis.valueFormatter?.locale = NSLocale.currentLocale()
self.lineChartView.leftAxis.valueFormatter?.numberStyle = .CurrencyStyle
self.lineChartView.leftAxis.valueFormatter?.maximumFractionDigits = 0

翻译过来就是:

let valueFormatter = NSNumberFormatter()
valueFormatter.locale = NSLocale.currentLocale()
valueFormatter.numberStyle = .CurrencyStyle
valueFormatter.maximumFractionDigits = 0

我的输出如下所示:

enter image description here

我的问题

使用 NSNumberFormatter,如何输出 $100K 而不是 $100,000?


update:

我想提供有关正在发生的事情的背景信息,请观看评论。

func setDollarsData(months: [String], range: Double) {

    var dataSets: [LineChartDataSet] = [LineChartDataSet]()

    var yVals: [ChartDataEntry] = [ChartDataEntry]()
    for var i = 0; i < months.count; i++ {
        // I'm adding my values here in value:, value takes a Double
        yVals.append(ChartDataEntry(value: county[userFavs[0]]![i], xIndex: i))
    }

    let set1: LineChartDataSet = LineChartDataSet(yVals: yVals, label: self.userFavs[0])
    set1.axisDependency = .Left
                set1.setColor(UIColor.redColor().colorWithAlphaComponent(0.5))
     set1.setCircleColor(UIColor.redColor())
     set1.lineWidth = 2.0
     set1.circleRadius = 6.0
     set1.fillAlpha = 65 / 255.0

     dataSets.append(set1)

    let data: LineChartData = LineChartData(xVals: months, dataSets: dataSets)
    data.setValueTextColor(UIColor.whiteColor())

    // this is where I set the number formatter
    self.lineChartView.gridBackgroundColor = UIColor.darkGrayColor()
    self.lineChartView.leftAxis.startAtZeroEnabled = false
    self.lineChartView.leftAxis.valueFormatter = NSNumberFormatter()
    self.lineChartView.leftAxis.valueFormatter?.locale = NSLocale.currentLocale()
    self.lineChartView.leftAxis.valueFormatter?.numberStyle = .CurrencyStyle
    self.lineChartView.leftAxis.valueFormatter?.maximumFractionDigits = 0

    // set it to the chart // END OF THE LINE
    self.lineChartView.data = data // outputs to my chart

    }

正如您所看到的,一旦我将数字转储到 yVals 中,我就失去了对它们的访问权限,因此这些扩展只有在我侵入框架时才会起作用。


编辑/更新

Swift 3 或更高版本

extension FloatingPoint {
    var kFormatted: String {
        return String(format: self >= 1000 ? "$%.0fK" : "$%.0f", (self >= 1000 ? self/1000 : self) as! CVarArg )
    }
}

您可以像这样使用它来格式化您的输出:

10.0.kFormatted     // "$10"
100.0.kFormatted    // "$100"
1000.0.kFormatted   // "$1K"
10000.0.kFormatted  // "$10K"
162000.0.kFormatted  // "$162K"
153000.0.kFormatted  // "$153K"
144000.0.kFormatted  // "$144K"
135000.0.kFormatted  // "$135K"
126000.0.kFormatted  // "$126K"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSNumberFormatter:大量显示“k”而不是“,000”? 的相关文章

随机推荐

  • Python:类似 jQuery 的函数链?

    我在谷歌上找不到任何关于这个主题的信息 所以我想我应该在这里问 是否可以像 jQuery 那样使用 Python 链接函数 my list foo1 arg1 arg2 foo2 arg1 arg2 foo3 arg1 arg2 etc 当
  • Javascript (ES6) 中的“...”是什么意思? [复制]

    这个问题在这里已经有答案了 我正在学习 Redux React 和 ES6 我已经使用 JS 进行了开发 但是 ES6 的这个新世界让我感到惊讶 它有很多新的东西 比如 gt 来声明箭头函数等 然而 在这项新的 Redux 研究中 我面临着
  • 如何在 Perl 中读取 Excel 文件?

    我正在寻找一些关于如何编写 Perl 脚本以从 Excel 文件读取数据 然后使用读入的数据 希望作为字符串 并将其传递到另一个 Perl 文件 作为参数 的示例 建议 目标是拥有一个表 用户可以在该表中键入一些数据 ftp 目标或文件名
  • ELF 可执行文件中 .dynamic .dynsym 和 .dynstr 之间的区别

    我的初步了解是 dynamic包含可执行文件需要加载的库 dynsym包含外部符号 例如setsockopt GLIBC 2 0 dynstr包含功能需求字符串 总的来说 我对这些部分如何一起创建二进制文件有点困惑 特别是 dynsym a
  • 我们可以在 mongodb 中更新/更新记录吗?数据源是kafka

    我们可以更新 更新插入 mongodb 中的记录 但是是否有任何方法或函数可以让我们直接在 mongodb 中更新或更新插入文档 并且源系统是 kafka 目标系统是 mongodb 是的 我们可以更新 更新插入数据 要更新 您必须在 Ka
  • Laravel Eloquent JSON Contains,如何提供WhereIn逻辑(数组值之一)

    这是我的代码 protected function room count room count query this gt builder gt whereJsonContains rent requests rooms count roo
  • 伪流式传输 MP4 文件

    我有一些关于伪流 MP4 文件的问题 是否下载了整个文件 例如 如果我将 1 分钟删除为 2 分钟的视频 是否只下载后半部分从而节省带宽 我可以使用 Chrome 开发工具检查这个吗 我该如何创建可用于伪流媒体的 MP4 我已经读到元数据需
  • 如何将我的 WordPress 博客合并到 iOS 应用程序中?

    如何将我的 WordPress 博客合并到 iOS 应用程序中 我有一个漂亮的文字新闻网站 我想创建一个本机 iOS 应用程序 我有 iOS 编码知识 但我只是不知道如何以漂亮的方式展示所有最新的博客 提前致谢 有很多方法可以实现这一目标
  • Boost序列化多个对象

    我正在使用二进制序列化带有 boost 的类 我使用 ios append 来继续将多个对象附加到该文件 如何检索所有存储的对象 这是我的测试类 它尝试多次序列化并检索它们 我已经评论了我没有获得正确数据的故障点 using namespa
  • 如何使用 SQL 复制行并获取新旧 ID 作为结果?

    我有一个表 我需要在其中复制某些行 我可以像这样获取新行的 ID DECLARE IDs TABLE ID int INSERT T name address OUTPUT INSERTED TID INTO ids SELECT name
  • 我可以使用 ASP.NET 设置 HTML/电子邮件模板吗?

    我正在开发一个会发送大量电子邮件的网站 我想设置页眉和页脚文本 甚至可能是模板 以允许用户根据需要轻松编辑这些电子邮件 如果我将 HTML 嵌入到 C 字符串文字中 它会很丑陋 并且必须担心转义 包含页眉和页脚的平面文件可能可行 但感觉有些
  • 如何使用.htaccess在codeigniter中实现动态子域?

    如何实现动态子域codeigniter with htaccess 确保您的网站上启用了子域 当您输入 test yoursite com 时 它应该会将您带到站点的欢迎页面 如果相反 它给出 DNS 查找错误 则意味着您的站点上未启用子域
  • 为什么我在 TensorFlow Keras 中的损失函数和指标之间得到不同的值?

    在使用 TensorFlow 进行 CNN 训练时 我使用Keras losses poisson作为损失函数 现在 我喜欢与损失函数一起计算许多指标 并且我观察到Keras metrics poisson给出不同的结果 尽管两者是相同的函
  • 有没有办法为同一 DAG 中的任务配置不同的“重试”

    我有一个 DAG 里面有很多子任务 在 DAG 的中间 有一个验证任务 根据任务的结果 返回代码 我想采取两条不同的路径 如果成功 将遵循一条路线 一系列任务 如果失败 我们将执行一组不同的任务 当前方法有两个问题 一是如果退出代码为 1
  • 在 Android 中发布 ID facebook 共享对话框始终返回 null

    我使用了测试应用程序 ID 并通过测试用户在 facebook 开发网站上的 dash board 应用程序中创建进行登录 使用 facebook sdk 的登录按钮小部件登录时需要 pulish actions 权限 但结果得到的 pos
  • Linq-to-Entity 左 JOIN

    这是我的查询 from forum in Forums join post in Posts on forum equals post Forum into postGroup from p in postGroup where p Par
  • int 和 char 之间的实际区别

    我必须分析这些代码片段的输出 int x y x 200 y 100 x x y y x y x x y printf d d n x y char x y x 200 y 100 x x y y x y x x y printf d d
  • 使用 SpanSizeLookup 设置 GridLayoutManager 中项目的跨度

    我想使用节标题实现类似网格的布局 考虑到https github com TonicArtos StickyGridHeaders 我现在应该做什么 mRecyclerView RecyclerView view findViewById
  • Mac OS X (Darwin) 下的 AF_PACKET 等效项

    我正在尝试在 Mac OS X 上编译一个使用 AF PACKET 套接字和 libpcap 的 C 程序 OS X 中的等效项是什么 Mac OS X 以及其他 BSD 风格的操作系统 例如 FreeBSD NetBSD OpenBSD
  • NSNumberFormatter:大量显示“k”而不是“,000”?

    如果可能的话 我想将我的大数字从 100 000 美元更改为 10 万美元 这是我到目前为止所拥有的 let valueFormatter NSNumberFormatter valueFormatter locale NSLocale c