输入默认格式,长度相同的时间字符串,返回差值,小数点长度为输入参数的长度

public static String getLongFromSecond(String seconds1, String seconds2) {
int position1 = seconds1.indexOf(".");
int betweenInteger = 0;
if (position1 == -1) {
betweenInteger = Integer.parseInt(seconds1) - Integer.parseInt(seconds2);
return String.valueOf(betweenInteger) + "." + "000000000";
}
betweenInteger = Integer.parseInt(seconds1.substring(0, position1))
- Integer.parseInt(seconds2.substring(0, position1));
String s1 = seconds1.substring(position1 + 1);
String s2 = seconds2.substring(position1 + 1);


int[] i1 = new int[s1.length()];
int[] i2 = new int[s2.length()];
String[] result = new String[s1.length()];
StringBuffer last = new StringBuffer();
for (int i = 0; i < s1.length(); i++) {
i1[i] = Integer.parseInt(s1.substring(i, i + 1));
i2[i] = Integer.parseInt(s2.substring(i, i + 1));
}
for (int i = i1.length - 1; i >= 0; i--) {
int t1 = i1[i];
int t2 = i2[i];
if (t1 < t2) {
t1 += 10;
if (i > 0) {
i1[i - 1] -= 1;
} else {
betweenInteger -= 1;
}
}
result[i] = String.valueOf(t1 - t2);
}
last.append(String.valueOf(betweenInteger));
last.append(".");
for (int j = 0; j < result.length; j++) {
last.append(result[j]);
}
return last.toString();

}


因为项目上传的参数,不需要考虑参数小数点后位数不同的原因,所以简化了一些,但是整体方法还是被大哥说 写的太麻烦,辛亏还有一个更简单的方法,不知道谁能想到。此方法已经放弃对任意参数的完善,如果有更简化的方式,请不吝赐教,贴出来也不是说自己写的有多好,就是记录自己的...算是进步吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值