Kotlin-js:定义小数位数

时间:2017-03-14 16:30:25

标签: kotlin

让我们想象一下这样的事情:

var num: Float = 0.0f
num = 2.4 * 3.5 / 3.8

num有几位小数,但我只想要2.

在JS中,我会使用num.toFixed(2)

此处的其他答案建议使用"%.2f".format(num)num.format(2)。后者需要自定义扩展乐趣:

fun Double.format(digits: Int) = java.lang.String.format("%.${digits}f", this)

但是,这些选项中的任何一个都会导致“未解析的引用”的编译错误。我认为这不是导入的问题,因为编译器会建议它。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:7)

JS的Kotlin标准库还没有fun Double.format(digits: Int): String = this.asDynamic().toFixed(digits) fun Float.format(digits: Int): String = this.asDynamic().toFixed(digits) 之类的东西,但您可以使用javascript中提供的上述enter image description here函数轻松实现它:

Double

这是有效的,因为Kotlin中的FloatNumber在JS中用toFixed()数据类型表示,因此您可以在这些类型的实例上调用{{1}}函数。