Avatar ·

Kotlin中的字符串格式化:如何输出浮点数和百分比?

大家好!我刚开始学习Kotlin,遇到了字符串格式化的问题。在Java中,我习惯使用`String.format("%.2f", value)`或`System.out.printf()`,但在Kotlin中,它的工作方式并不像我预期的那样。\n\n这是一个例子。我正在编写一个简单的折扣计算器。我有商品价格和折扣百分比,我想输出保留两位小数的最终金额,以及类似“15%”的百分比。\n\n```kotlin\nfun main() {\n val price = 1250.0\n val discount = 15\n val finalPrice = price * (100 - discount) / 100\n \n // 尝试像Java一样输出\n println(String.format("折扣后价格:%.2f", finalPrice))\n println(String.format("折扣:%d%%", discount))\n}\n```\n\n这似乎能工作,但我听说Kotlin有更惯用的方式。此外,当我尝试使用带美元符号(`$`)的字符串模板时,我无法应用格式化:\n\n```kotlin\nprintln("价格:$finalPrice") // 输出很多小数位\n```\n\n如何正确