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

本诺夫

我正在尝试编写一个函数,以呈现成千上万个K和M。例如:

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

这是我到目前为止的去处:

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

我如何才能使用此功能,我想念什么?

用户名
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和它的底楼是否相同。

我在此问题中找到了双精度扩展名:快速将双精度值四舍五入为x的小数位数

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift 4:将数字格式化为友好的K

python3:如何将2格式化为02

转换后如何将Swift 3 nsmeasurement字符串格式化为最多2个小数位?

在R中将数字1000格式化为1k,将1000000格式化为1m等

D3:为什么d3.format(“。2s”)将-0.5格式化为-500m?

将值格式化为 C2 格式时如何将值传递给 DGV 单元格

如何在Django中将数字从1000格式化为1k

如何将1000克格式化为1千克

如何将分区格式化为 JFFS2?

Angular2-moment,将分钟格式化为

将数字格式化为 2 位数:“需要对象”

将BigDecimal格式化为String,最大2个十进制数字,在小数部分删除0

为什么将RAM芯片表示为2K X 8格式

Swift NumberFormatter将所有值格式化为3个小数位?

Swift 将无效 URL 格式化为有效 URL

如何将NSDecimalNumber格式化为Swift字符串?

如何将Double格式化为Currency-Swift 3

Swift将字符串格式化为数字时的奇怪行为

在 Swift 中将日期格式化为 sql 日期格式

将Swift 2代码转换为Swift 3

如何使用Moment.js将“下午2点”格式化为“下午2:00”?

在Swift中将负Double格式化为货币

Yii2格式化程序-创建自定义格式

如何以角度2格式格式化日期模型字段

将十进制格式化为长度为9的字符串,在'。'之前加2位数字(填充0)。然后是6

Swift3:将失败块从 Swift2 转换为 Swift3 的 AFNetworking 问题

如何在ggplot2中将difftime格式化为hh:mm?

如何使用 Jinja2 将 Python 列表格式化为 HTML 列表?

如何在ggplot2中将多个标签格式化为单个图例