我有一个表示秒的任意Double变量,我希望将其转换为两个整数,因此可以添加到Calendar对象,但无法弄清楚如何将double基本上拆分为十进制和整数值。如果存在任何更好的实现,可以向日历添加Double seconds变量,我将接受其他实现。
Double someDouble = 2.5;
int seconds = 0, milli = 0;
//Get seconds to = 2, milli to = 500 from someDouble (pad with zeroes to get three places)
Calendar someCalendar = Calendar.getInstance();
someCalendar.add(Calendar.SECOND, seconds);
someCalendar.add(Calendar.MILLISECOND, milli);
您不需要为此使用日历,这是一种更快的方法:
int seconds = (int)someDouble.doubleValue();
int milli = (int)((someDouble.doubleValue() - seconds) * 1000);
这是怎么回事:
如果您不是Double而是Double,那么doubleValue()调用也可以省略:
double dtime = 2.5d; // or someDouble.doubleValue() if you need to convert
int seconds = (int)dtime;
int milli = (int)((dtime - seconds) * 1000);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句