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