我如何在“。”之前显示值。标志?

时间:2019-05-04 22:06:52

标签: android kotlin

我正在创建货币应用程序,但是某些值类似于“ 194.23564”或“ 1187.7594”,因此我想向用户显示“”。符号值。我如何用Kotlin做到这一点?

2 个答案:

答案 0 :(得分:1)

除建议以外,我将不转换为浮动。这很容易出现舍入错误,并且可能返回小数点前的值。

示例:

val num = "0.99999999"
println(num.toFloat().toInt())  // gives 1

相反,将字符串拆分为小数点:

val num = "0.99999999"
val split = num.split('.')
println(split[0])  // gives 0

此实现的一个不错的副作用是,它甚至可以用于不带小数点的整数。如果您需要将结果作为Int,只需调用split[0].toInt()

答案 1 :(得分:1)

在提取整数部分之前,无需进行数据类型转换。
您可以使用substringBefore()

val number = "194.23564"
val intPart = number.substringBefore(".")

如果您希望将结果作为整数,则可以现在使用toIntOrNull()而不是toInt(),这样可以避免在初始字符串没有整数部分(例如{{1} }):

".015"