我正在为天气应用程序使用OpenWeatherMaps
API,但在某些城市中显示的是小数,如何从中删除小数部分?
override fun onPostExecute(result: String?) {
super.onPostExecute(result)
try {
val jsonObj = JSONObject(result)
val main = jsonObj.getJSONObject("main")
val temp = main.getString("temp")+"°C"
findViewById<TextView>(R.id.temp).text = temp
答案 0 :(得分:2)
toInt()是您问题的解决方案
val jsonObj = JSONObject(result)
val main = jsonObj.getJSONObject("main")
val temp = +"${main.getString("temp").toDouble().toInt()}°C"
findViewById<TextView>(R.id.temp).text = temp
答案 1 :(得分:2)
如果您想要点之前的所有内容,请输入substringBefore()
:
val temp = main.getString("temp").substringBefore(".") + "°C"
答案 2 :(得分:0)
看到您正在使用getString()
并假设从服务器发送的数据像“ 31.23”,我想到的第一件事就是使用点作为定界符分割字符串,并使用第一个值:
val temp = main.getString("temp")split(".")[0] +"°C"
答案 3 :(得分:0)
使用getInt
而不是getString
。
val temp = main.getInt("temp") + "°C"
答案 4 :(得分:0)
尝试
val temp = String.format("%.0f",main.getString("temp")) +"°C"
答案 5 :(得分:0)
如果您想删除字符串中数字的小数部分,请尝试类似
val df = DecimalFormat("#")
println("Foobar: ${df.format(100.10)}")
Foobar:100