示例延長以呈現人類可讀的字串
給定 Int
或 Long
型別的任何值來呈現人類可讀的字串:
fun Long.humanReadable(): String {
if (this <= 0) return "0"
val units = arrayOf("B", "KB", "MB", "GB", "TB", "EB")
val digitGroups = (Math.log10(this.toDouble())/Math.log10(1024.0)).toInt();
return DecimalFormat("#,##0.#").format(this/Math.pow(1024.0, digitGroups.toDouble())) + " " + units[digitGroups];
}
fun Int.humanReadable(): String {
return this.toLong().humanReadable()
}
然後很容易用作:
println(1999549L.humanReadable())
println(someInt.humanReadable())