让我们想象一下这样的情况:
var num: Float = 0.0f
num = 2.4 * 3.5 / 3.8num有几个小数,但我只想要2个。
在JS中,我会使用num.toFixed(2)。
这里的其他答案建议使用"%.2f".format(num)或num.format(2)。后者需要一个自定义的扩展乐趣:
fun Double.format(digits: Int) = java.lang.String.format("%.${digits}f", this)但是,这些选项中的任何一个都会导致编译器错误“未解析的引用”。我不认为这是一个导入的问题,因为编译器会建议这样做。
有什么简单的方法可以做到这一点吗?
发布于 2017-03-15 09:28:37
Kotlin的JS标准库还没有任何类似Double.format的东西,但是你可以使用前面提到的javascript中的toFixed函数轻松地实现它:
fun Double.format(digits: Int): String = this.asDynamic().toFixed(digits)
fun Float.format(digits: Int): String = this.asDynamic().toFixed(digits)这是因为Kotlin中的Double和Float在JS中用Number数据类型表示,所以您可以在这些类型的实例上调用toFixed()函数。
https://stackoverflow.com/questions/42791492
复制相似问题