我有几个像这样的字符串" 20160621060000",实际上是一个日期:
年份:2016年,月份:06,日:21,小时:06,分钟:00,秒:00
我需要像上面所做的那样拆分它并保存这些数据,但是我遇到麻烦会导致" 20160621060000" Double是太大了所以我得到像这样的铸造价值:2.01606210515E13(这里究竟发生了什么?)
这是我的代码
Double StartValue = Double.parseDouble(StartDate);
System.out.println(StartValue);
我也不能
int Year = Startvalue/10000000000
(10 ^ 10)因为我得到"整数过大" 有人可以帮我找到办法吗?
答案 0 :(得分:0)
使用BigDecimal而不是double。
答案 1 :(得分:0)
使用Long.parseLong(StartDate);
代替Double.parseDouble(StartDate);
答案 2 :(得分:0)
如果数字太大,你应该使用long而不是int。
如果此号码是日期,您可以使用SimpleDateFormatter https://developer.android.com/reference/java/text/SimpleDateFormat.html
例如:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-hh.mm.ss");
String daytime = formatter.format(yourDate);
答案 3 :(得分:-1)
尝试使用Format转换为数据:
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = formatter.parse("2016 06 21 06 00 00");
有关详细信息,请使用this链接。