Raf*_*ael 6 android textview kotlin
在我们的项目中,我想传递带有美元符号的字符串。最终结果应该是这样的~ $1300
:但我只得到~
其余的没有打印。通过调试我发现问题出在美元符号上。如何传递带有美元符号的字符串?转义美元符号不能解决这个问题。
fun setItem() {
bind(valueSubtitle = "~ \$${trx.currencyAmount}")
}
fun bind(valueSubtitle: String? = null) {
val valueSubtitleTextView = findViewById(R.id.txtValueSubtitle)
valueSubtitleTextView.text = valueSubtitle
}
Run Code Online (Sandbox Code Playgroud)
我对直接打印带有美元符号的字符串没有任何问题。当我尝试将此字符串传递给其他函数然后才打印它时遇到问题。
我调试了更新
,发现当我的号码末尾有双零时出现问题: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)
}
Run Code Online (Sandbox Code Playgroud)
原始字符串和转义字符串内都支持模板。如果需要$
在原始字符串中表示文字字符(不支持反斜杠转义),可以使用以下语法:
itemAmount.bind(valueSubtitle = "~ \${'$'}${trx.currencyAmount}")
Run Code Online (Sandbox Code Playgroud)
看起来语法很糟糕,但会起作用。
归档时间: |
|
查看次数: |
7541 次 |
最近记录: |