在我们的项目中,我想传递带有美元符号的字符串。最终结果应如下所示: ~ $1300 。但我只得到 ~ 其余的不是打印。通过调试,我发现问题出在美元符号上。我如何传递带有美元符号的字符串?转义美元符号不能解决这个问题。

fun setItem() {
   bind(valueSubtitle = "~ \$${trx.currencyAmount}")
        }
fun bind(valueSubtitle: String? = null) {
        val valueSubtitleTextView = findViewById(R.id.txtValueSubtitle)
        valueSubtitleTextView.text = valueSubtitle
    }

我对带美元符号的直接​​打印字符串没有问题。当我尝试将此字符串传递给其他函数时遇到问题,然后才打印它。

更新
我调试了,发现当我的号码最后有双零时我有问题: 189.00 or 123.00 。这些数字会导致问题。 123.40 or 1152.90 等其他数字显示正确。

更新 2
问题出在我的 TextView 上。它在打印不同的双数时表现得很奇怪。当我将 android:layout_width="match_parent" 更改为 android:layout_width="wrap_content" 时就解决了

最佳答案

您可以尝试文字表示。

    fun main(args: Array<String>) {
    val amount = "25"
    val escapedString = "~ ${'$'}$amount"
    printString(escapedString)

}

fun printString( str : String) {
    println(str)
}

10-08 15:15