double projectName = Double.valueOf(item2.getProjectName()) + Double.valueOf(item.getProjectName());这行代码提示input String"-" 该怎么改
时间: 2024-03-19 09:43:52 浏览: 22
如果出现了"input String"的提示,说明item2.getProjectName()或item.getProjectName()的返回值中包含了非数字的字符,例如“-”,所以无法将其转换为double类型。
为了解决这个问题,可以先对每个返回值进行校验,确保其只包含数字和小数点,再进行转换,例如:
```
String projectName1 = item2.getProjectName();
String projectName2 = item.getProjectName();
if (projectName1 != null && projectName1.matches("^[0-9.]+$") && projectName2 != null && projectName2.matches("^[0-9.]+$")) {
double projectName = Double.valueOf(projectName1) + Double.valueOf(projectName2);
// 进一步处理
} else {
// 处理输入不合法的情况
}
```
其中,`matches("^[0-9.]+$")`表示校验字符串是否只包含数字和小数点。如果不符合要求,则需要进行相应的处理。
相关问题
ProjectHistory projectHistory = projectHistoryService.getById(projectHistoryId); Unit unit = unitService.getById(projectHistory.getPricingUnitId()); List<ProjectCalculateResult> projectCalculateResultList = projectCalculateResultService.list(new LambdaQueryWrapperX<ProjectCalculateResult>().eq(ProjectCalculateResult::getProjectHistoryId, projectHistoryId)); //计算总数量 insideTaskService.statisticalOptions(projectCalculateResultList); String unitName = unit.getUnitName(); unitName = unitName.substring(0, 2); String projectName = projectHistory.getProjectName(); Map<String, Object> params = new HashMap<>(); ClassPathResource resource = new ClassPathResource("templates"+File.separator+"project_letters.docx"); InputStream inputStream = resource.getInputStream(); MyXWPFDocument doc = new MyXWPFDocument(inputStream); //简单渲染文本 params.put("projectName",projectName); params.put("unit",unitName); //渲染表格 List<Map<String, Object>> jobs = new ArrayList<>(); Map<String, Object> job; for (int i = 0; i < projectCalculateResultList.size(); i++) { job = new HashMap<>(); job.put("id", i+1); job.put("zxbz",projectCalculateResultList.get(i).getDecoration()); job.put("jsjd",projectCalculateResultList.get(i).getFamilyProperty()); BigDecimal projectRent = projectCalculateResultList.get(i).getProjectRent().setScale(2, BigDecimal.ROUND_HALF_UP); job.put("projectRent",projectRent); jobs.add(job); } params.put("jobs",jobs); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日"); String transformDate=simpleDateFormat.format(new Date()); params.put("dateTime",transformDate); String temDir="templates"+ File.separator+"project_letters.docx"; ;//生成临时文件存放地址 //生成文件名 Long time = new Date().getTime(); // 生成的word格式 String formatSuffix = ".docx"; // 拼接后的文件名 String fileName = time + formatSuffix;//文件名 带后缀 //导出word WordUtils.exportWordDoc(doc, temDir, fileName, params, request, response);怎么改才能将下载的文件字体为仿宋
要将下载的文件字体设置为仿宋,你需要在导出Word文档之前,将文档中的字体样式修改为仿宋。可以参考以下代码:
```java
// 渲染表格
List<Map<String, Object>> jobs = new ArrayList<>();
Map<String, Object> job;
for (int i = 0; i < projectCalculateResultList.size(); i++) {
job = new HashMap<>();
job.put("id", i+1);
job.put("zxbz", projectCalculateResultList.get(i).getDecoration());
job.put("jsjd", projectCalculateResultList.get(i).getFamilyProperty());
BigDecimal projectRent = projectCalculateResultList.get(i).getProjectRent().setScale(2, BigDecimal.ROUND_HALF_UP);
job.put("projectRent", projectRent);
// 设置字体为仿宋
XWPFRun run = (XWPFRun)job.get("projectRent");
run.setFontFamily("仿宋");
jobs.add(job);
}
params.put("jobs", jobs);
// 导出word
WordUtils.exportWordDoc(doc, temDir, fileName, params, request, response);
```
在上述代码中,我添加了一行代码来设置表格中"projectRent"字段的字体为仿宋。请确保系统中存在仿宋字体。这样,在导出的Word文档中,"projectRent"字段的字体将被设置为仿宋。
修改下面代码:@Override public List<ProjectCountVO> projectCount(String beginTime, String endTime, Integer forceType, String projectId) { List<TaskTask> taskTaskList = this.listStatisticsTask(beginTime, endTime, forceType, projectId); if(CollectionUtil.isEmpty(taskTaskList)){ return Collections.emptyList(); } List<ProjectCountVO> result = new ArrayList<>(); Map<String, List<TaskTask>> projectTaskMap = taskTaskList.stream().collect(Collectors.groupingBy(TaskTask::getProjectId)); for (Map.Entry<String, List<TaskTask>> projectTaskEntry : projectTaskMap.entrySet()) { projectId = projectTaskEntry.getKey(); ProjectCountVO projectCountVO = new ProjectCountVO(); projectCountVO.setId(projectId); //查询项目名称 projectName = applicationServicePlatformClientProxy.get String projectName = Optional.ofNullable(projectTaskMap.get(projectId)).map(taskList -> taskList.get(0).getName()).orElse(""); projectCountVO.setName(projectName); List<TaskTask> taskList = projectTaskEntry.getValue(); projectCountVO.setTaskCount(taskList.size()); Integer problemCount = CollectionUtil.isEmpty(taskList) ? 0 : taskList.stream().collect(Collectors.summingInt(task-> Optional.ofNullable(task.getProblemNum()).orElse(0))); projectCountVO.setProblemCount(problemCount); result.add(projectCountVO); } return result; }
@Override
public List<ProjectCountVO> projectCount(String beginTime, String endTime, Integer forceType, String projectId) {
List<TaskTask> taskTaskList = this.listStatisticsTask(beginTime, endTime, forceType, projectId);
if (CollectionUtil.isEmpty(taskTaskList)) {
return Collections.emptyList();
}
List<ProjectCountVO> result = new ArrayList<>();
Map<String, List<TaskTask>> projectTaskMap = taskTaskList.stream().collect(Collectors.groupingBy(TaskTask::getProjectId));
for (Map.Entry<String, List<TaskTask>> projectTaskEntry : projectTaskMap.entrySet()) {
projectId = projectTaskEntry.getKey();
ProjectCountVO projectCountVO = new ProjectCountVO();
projectCountVO.setId(projectId);
//查询项目名称
String projectName = Optional.ofNullable(projectTaskMap.get(projectId)).map(taskList -> taskList.get(0).getProjectName()).orElse("");
projectCountVO.setName(projectName);
List<TaskTask> taskList = projectTaskEntry.getValue();
projectCountVO.setTaskCount(taskList.size());
Integer problemCount = CollectionUtil.isEmpty(taskList) ? 0 : taskList.stream().collect(Collectors.summingInt(task -> Optional.ofNullable(task.getProblemNum()).orElse(0)));
projectCountVO.setProblemCount(problemCount);
result.add(projectCountVO);
}
return result;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)