<bdo id='IIbk2'></bdo><ul id='IIbk2'></ul>
      <tfoot id='IIbk2'></tfoot>

      <i id='IIbk2'><tr id='IIbk2'><dt id='IIbk2'><q id='IIbk2'><span id='IIbk2'><b id='IIbk2'><form id='IIbk2'><ins id='IIbk2'></ins><ul id='IIbk2'></ul><sub id='IIbk2'></sub></form><legend id='IIbk2'></legend><bdo id='IIbk2'><pre id='IIbk2'><center id='IIbk2'></center></pre></bdo></b><th id='IIbk2'></th></span></q></dt></tr></i><div id='IIbk2'><tfoot id='IIbk2'></tfoot><dl id='IIbk2'><fieldset id='IIbk2'></fieldset></dl></div>

    1. <legend id='IIbk2'><style id='IIbk2'><dir id='IIbk2'><q id='IIbk2'></q></dir></style></legend>

      <small id='IIbk2'></small><noframes id='IIbk2'>

        Swift 2.0 将 1000 格式化为友好的 K

        时间:2023-08-31

        • <tfoot id='Tzkwr'></tfoot>
            <bdo id='Tzkwr'></bdo><ul id='Tzkwr'></ul>

            <small id='Tzkwr'></small><noframes id='Tzkwr'>

          • <i id='Tzkwr'><tr id='Tzkwr'><dt id='Tzkwr'><q id='Tzkwr'><span id='Tzkwr'><b id='Tzkwr'><form id='Tzkwr'><ins id='Tzkwr'></ins><ul id='Tzkwr'></ul><sub id='Tzkwr'></sub></form><legend id='Tzkwr'></legend><bdo id='Tzkwr'><pre id='Tzkwr'><center id='Tzkwr'></center></pre></bdo></b><th id='Tzkwr'></th></span></q></dt></tr></i><div id='Tzkwr'><tfoot id='Tzkwr'></tfoot><dl id='Tzkwr'><fieldset id='Tzkwr'></fieldset></dl></div>

                <legend id='Tzkwr'><style id='Tzkwr'><dir id='Tzkwr'><q id='Tzkwr'></q></dir></style></legend>
                    <tbody id='Tzkwr'></tbody>
                  本文介绍了Swift 2.0 将 1000 格式化为友好的 K的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我正在尝试编写一个函数来将成千上万的数字呈现为 K 和 M例如:

                  I'm trying to write a function to present thousands and millions into K's and M's For instance:

                  1000 = 1k
                  1100 = 1.1k
                  15000 = 15k
                  115000 = 115k
                  1000000 = 1m
                  

                  这是我到目前为止的地方:

                  Here is where I got so far:

                  func formatPoints(num: Int) -> String {
                      let newNum = String(num / 1000)
                      var newNumString = "(num)"
                      if num > 1000 && num < 1000000 {
                          newNumString = "(newNum)k"
                      } else if num > 1000000 {
                          newNumString = "(newNum)m"
                      }
                  
                      return newNumString
                  }
                  
                  formatPoints(51100) // THIS RETURNS 51K instead of 51.1K
                  

                  如何让这个功能工作,我错过了什么?

                  How do I get this function to work, what am I missing?

                  推荐答案

                  func formatPoints(num: Double) ->String{
                      let thousandNum = num/1000
                      let millionNum = num/1000000
                      if num >= 1000 && num < 1000000{
                          if(floor(thousandNum) == thousandNum){
                              return("(Int(thousandNum))k")
                          }
                          return("(thousandNum.roundToPlaces(1))k")
                      }
                      if num > 1000000{
                          if(floor(millionNum) == millionNum){
                              return("(Int(thousandNum))k")
                          }
                          return ("(millionNum.roundToPlaces(1))M")
                      }
                      else{
                          if(floor(num) == num){
                              return ("(Int(num))")
                          }
                          return ("(num)")
                      }
                  
                  }
                  
                  extension Double {
                      /// Rounds the double to decimal places value
                      func roundToPlaces(places:Int) -> Double {
                          let divisor = pow(10.0, Double(places))
                          return round(self * divisor) / divisor
                      }
                  }
                  

                  如果数字是整数,更新后的代码现在不应返回 .0.例如,现在应该输出 1k 而不是 1.0k.我只是检查了 double 和它的 floor 是否相同.

                  The updated code should now not return a .0 if the number is whole. Should now output 1k instead of 1.0k for example. I just checked essentially if double and its floor were the same.

                  我在这个问题中找到了双重扩展名:将一个双精度值舍入到 x 个swift中的小数位

                  I found the double extension in this question: Rounding a double value to x number of decimal places in swift

                  这篇关于Swift 2.0 将 1000 格式化为友好的 K的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:从字符串创建 NSDate 下一篇:无法使用 NdefFormatable 格式化 NFC 卡

                  相关文章

                  最新文章

                • <i id='qXVNM'><tr id='qXVNM'><dt id='qXVNM'><q id='qXVNM'><span id='qXVNM'><b id='qXVNM'><form id='qXVNM'><ins id='qXVNM'></ins><ul id='qXVNM'></ul><sub id='qXVNM'></sub></form><legend id='qXVNM'></legend><bdo id='qXVNM'><pre id='qXVNM'><center id='qXVNM'></center></pre></bdo></b><th id='qXVNM'></th></span></q></dt></tr></i><div id='qXVNM'><tfoot id='qXVNM'></tfoot><dl id='qXVNM'><fieldset id='qXVNM'></fieldset></dl></div>

                        <bdo id='qXVNM'></bdo><ul id='qXVNM'></ul>

                      <small id='qXVNM'></small><noframes id='qXVNM'>

                      <legend id='qXVNM'><style id='qXVNM'><dir id='qXVNM'><q id='qXVNM'></q></dir></style></legend>

                      <tfoot id='qXVNM'></tfoot>