Android:如何获取/转换long到int?

时间:2014-02-12 23:35:27

标签: java android int long-integer

Calendar c = Calendar.getInstance(); 

long diff = c.getTimeInMillis() - DateSaved.getTimeInMillis(); //result in millis

long daysDiff =  (diff / (24 * 60 * 60 * 1000));

当我打印diff(整数天)时,一切正常......

问题从这里开始:

int daysDiffINT = (int) daysDiff; 
int daysRemaining = (sumaINT/dailyINT) - daysDiffINT;

我需要使用一些int值继续我的long diff。

上面这个不起作用。控制台给我一个错误:“无效的int” 我搜索了一下,有成千上万的String转换为Int等。

但是我怎么能从长时间获得int?或来自long的字符串?

这让我抓狂:(

//感谢大家 - 你已经学会了如何制作我自己的应用程序:)

1 个答案:

答案 0 :(得分:11)

长到int:

public static int safeLongToInt(long l) {
    if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
        throw new IllegalArgumentException
            (l + " cannot be cast to int without changing its value.");
    }
    return (int) l;
}

长到字符串:

public static String longToString(long l) {
        return String.valueOf(l);
}