package com.sandu.ximon.admin.security;
|
|
import com.sandu.ximon.admin.vo.ControlLightCommandVO;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Author liuhaonan
|
* @Date 2022/4/19
|
* @Version 1.0
|
*/
|
public class stringTest {
|
public static void main(String[] args) {
|
String command = "16050032359000";
|
// String command = "00000500605000";
|
|
char[] chars = command.toCharArray();
|
int i = chars.length / 7;
|
|
List<ControlLightCommandVO> list = new ArrayList<>();
|
|
for (int j = 0; j < i; j++) {
|
int hour = Integer.valueOf(command.substring(0 + (j * 7), 2 + (j * 7)));
|
int min = Integer.valueOf(command.substring(2 + (j * 7), 4 + (j * 7)));
|
int brightness = Integer.valueOf(command.substring(4 + (j * 7), 7 + (j * 7)));
|
ControlLightCommandVO vo = new ControlLightCommandVO();
|
vo.setHour(hour);
|
vo.setMin(min);
|
vo.setBrightness(brightness);
|
list.add(vo);
|
}
|
ControlLightCommandVO v1 = list.get(0);
|
ControlLightCommandVO v2 = list.get(1);
|
|
// int i1 = v2.getHour() - v1.getHour();
|
// int i2 = (v2.getMin()- v1.getMin());
|
|
BigDecimal hour = BigDecimal.valueOf((v2.getHour()- v1.getHour()));
|
BigDecimal min = BigDecimal.valueOf((v2.getMin()- v1.getMin())/60);
|
|
BigDecimal totalTime=(hour.add(min));
|
// int total=(i1*3600+i2*60);
|
// BigDecimal energySaving = BigDecimal.valueOf(((100-v1.getBrightness())/100)*totalTime/24);
|
// BigDecimal energySaving =BigDecimal.valueOf((100-v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
|
BigDecimal energySaving =new BigDecimal(100).subtract(BigDecimal.valueOf(v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
|
|
|
System.out.println(energySaving);
|
// System.out.println(energySaving+"----------------------"+energySaving1);
|
|
}
|
|
}
|