【发布时间】:2011-09-01 09:55:10
【问题描述】:
我一直在尝试将秒值(在 BigDecimal 变量中)转换为 editText 中的字符串,例如“1 小时 22 分 33 秒”或类似的东西。
我试过了:
String sequenceCaptureTime = "";
BigDecimal roundThreeCalc = new BigDecimal("0");
BigDecimal hours = new BigDecimal("0");
BigDecimal myremainder = new BigDecimal("0");
BigDecimal minutes = new BigDecimal("0");
BigDecimal seconds = new BigDecimal("0");
BigDecimal var3600 = new BigDecimal("3600");
BigDecimal var60 = new BigDecimal("60");
(我有一个roundThreeCalc,它是以秒为单位的值,所以我尝试在这里转换它。)
hours = (roundThreeCalc.divide(var3600));
myremainder = (roundThreeCalc.remainder(var3600));
minutes = (myremainder.divide(var60));
seconds = (myremainder.remainder(var60));
sequenceCaptureTime = hours.toString() + minutes.toString() + seconds.toString();
然后我将 editText 设置为 sequnceCaptureTime 字符串。 但这没有用。它每次都强制关闭应用程序。我在这里完全超出了我的深度,非常感谢任何帮助。快乐编码!
【问题讨论】:
-
您为什么使用 BigDecimal 而不是 BigInteger?
-
稍后我将不得不在 dev 中实现几分之一秒,现在我只是想首先让计算工作。
-
我赞同 Richard 的评论 - 您可以使用 TimeUnit 枚举为您完成很多工作。 developer.android.com/reference/java/util/concurrent/…
-
我将如何使用 timeunit 将包含秒数的 BigDecimal 转换为 HHMMSS?
标签: java android string android-edittext bigdecimal