首页 > 解决方案 > 带有转义美元符号的 Kotlin 传递字符串

问题描述

在我们的项目中,我想传递带有美元符号的字符串。最终结果应如下所示:~ $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"

标签: androidkotlintextview

解决方案


您可以尝试文字表示。

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

}

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

推荐阅读