【问题标题】:Easy way to show Decimal of Long via CountDownTimer - Android通过 CountDownTimer 显示长小数的简单方法 - Android
【发布时间】:2011-06-02 02:11:54
【问题描述】:

我有工作代码,但似乎有点奇怪,我不得不在 CountDownTimer 上显示小数位,但我没有找到任何更容易的方法(显然)。

这是我目前拥有的工作代码:

    final String tempTitle = TextView.getText().toString();

    new CountDownTimer(10000, 100) {

                 public void onTick(long millisUntilFinished) {
                     String timeDown = String.valueOf(millisUntilFinished / 100);
                     String secTime="0";
                     String sec10th="0";
                     if (Long.valueOf(millisUntilFinished) < 1000) {
                     secTime ="0";
                     sec10th = timeDown.substring(0,1);
                     }else{
                     secTime=timeDown.substring(0,1);
                     sec10th = timeDown.substring(1,2);
                     }

                     TextView.setText("Start in: " + secTime + "." + sec10th);
                 }

                 public void onFinish() {
                     TextView.setText(tempTitle);
                 }
              }.start(); 


    }

【问题讨论】:

    标签: java android decimal long-integer countdown


    【解决方案1】:

    除以 100.0 这样就不用进行整数除法了。

    根据您的评论进行编辑: 你可以这样做

    DecimalFormat df=new DecimalFormat("#.##"); //import java.text.DecimalFormat;
    String timeDown=df.format(millisUntilFinished/100.0);
    

    或#.### 等取决于你想要多少个小数...

    【讨论】:

    • 谢谢,效果很好,在 100 和 1000 上连除法都没有,所以我使用 .substring(0,3) 来获取 #.#,有没有更好的数字格式可以输入?在我转换为字符串之前?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 2017-07-24
    • 2015-01-18
    • 2018-01-08
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    相关资源
    最近更新 更多