You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将毫秒转换为秒并在Android TextView中正确显示?

解决毫秒转秒并正确显示小数的问题

你的问题出在整数除法的精度丢失:counter是Long类型,1000是整数,两者做除法时会直接取整,所以小于1000的数值除以1000结果都是0,自然显示0。要得到0.1、0.9这样的小数,需要做浮点运算并格式化输出。

修改方案

把原来的整数除法改成浮点运算,再用格式化字符串保留一位小数,替换这行代码:

textView.text = (counter/1000).toString()

为:

textView.text = "%.1f".format(counter.toDouble() / 1000)

代码解释

  • counter.toDouble():把Long类型的数值转换为浮点数,确保除法运算保留小数部分
  • / 1000:浮点除法得到精确的秒数(比如900→0.9,1000→1.0)
  • "%.1f".format(...):格式化字符串,强制保留1位小数,正好符合你要的0.1到1.0的显示效果

简化版(直接用progress,无需counter)

你也可以不用counter变量,直接用回调里的progress参数计算,代码更简洁:

override fun onProgressChanged(
    seekBar: SeekBar?,
    progress: Int,
    fromUser: Boolean
) {
    textView.text = "%.1f".format(progress.toDouble() / 1000)
}

这样修改后,SeekBar拉到100时显示0.1,900时显示0.9,1000时显示1.0,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Daniel Lip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:27:18