Java里使用普通数据类型进行计算时候,遇到浮点数运算的时候,经常会遇到出现这样的数字: 1.6666666666667 411.49999999999994 Java中的简单浮点数类型float和double不能够进行运算。不光是Java,在其它很多编程语言中也有这样的问题。在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上面的错误。现在终于理解为什么要有BCD码了。 这个问题相当严重,如果你有9.999999999999元,你的计算机是不会认为你可以购买10元的商品的。 在有的编…

2022-11-16 0条评论 1464点热度 0人点赞 admin 阅读全文

需求是要给POI生成的Cell单元格内容加文字颜色(或者背景颜色),实操后发现,设置颜色并没有和之前的普通程序(例如Html里面给文字加颜色,可以是RBG或者#FF00FF这样的颜色) 下来面实例看下: Font font = workbook.createFont(); font.setBold(true); // 设置字体颜色是红色 font.setColor(HSSFColor.HSSFColorPredefined.RED.getIndex()); CellStyle cellStyle = workboo…

2022-11-09 0条评论 2655点热度 0人点赞 admin 阅读全文

现在很多Java项目都是SpringBoot的了,不过可能有部分还会是SpringMVC甚至还有JSP页面,这种项目在IDEA下开发时候可能遇到一个问题,使用Tomcat启动后,每次修改JSP页面或者JS/HTML/CSS等文件的内容后,直接查看网页效果有时候发现内容并没有改变。 点击运行Run -> 编辑配置Edit Configurations,在Tomcat的服务器Server Tab下面,找到:执行更新操作On 'Update' action和 切换处IDE时on frame deactivation…

2022-11-05 0条评论 1216点热度 0人点赞 admin 阅读全文

在使用ApachePOI生成Excel,遇到一个问题,就是单元格合并功能: sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol)); 发现合并后的单元格,内容是空白的 合并的单元格,内容是根据合并前的单元格的第一行第一列的数据的,所以写程序的时候,要注意给合并前的最初的那个单元格赋值就可以了。

2022-11-04 0条评论 1298点热度 0人点赞 admin 阅读全文

IDEA下需要对一个普通的SpringWeb项目(使用的是Maven构建)的编译出来的class文件进行混淆,准备使用proguard来进行。 我找到了一个使用proguard的maven编译插件,项目地址是:https://github.com/wvengen/proguard-maven-plugin 首先修改pom.xml,在project下,使用如下内容(配置文件有注释,可根据自己实际情况做调整): <build> <plugins> <!-- ProGuard混淆插件--&g…

2022-11-02 0条评论 1480点热度 0人点赞 admin 阅读全文

根据IDEA的提示,是否启用lombok,启用后,发现无法正常启动程序了,报错如下: java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x109ba79f) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because…

2022-10-30 0条评论 1398点热度 0人点赞 admin 阅读全文

希望利用程序对网页进行截图,或者将复杂的HTML(带复杂的CSS3语法或者Javascript)转换成网页图片。 另外如果希望把网页生成PDF,可以查看这里:https://blog.terrynow.com/2022/12/13/use-node-puppeteer-docker-generate-pdf-as-service-and-support-chinese/ 有考虑过几种实现方式 html2image转换如果你是简单的HTML是没有问题,方式也比较简单,缺点是负责的Html无法正确渲染 PhantomJ…

2022-10-29 0条评论 2502点热度 0人点赞 admin 阅读全文

使用ApachePOI读取Excel的时候,如果单元格是日期的格式,通过判断cell.getCellType() 得到的是Cell.CELL_TYPE_NUMERIC,进而使用cell.getNumericCellValue() 获取到单元格内容,但是读取到的却是类似44840.611111这样的数字 经过一番查找资料,结论是,Excel单元格存储日期、时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再根据CellStyle来判断日期格式,再进行判断转化。 总结如下: 数值格式(CELL_TYPE_N…

2022-10-25 0条评论 2797点热度 0人点赞 admin 阅读全文

在使用ApachePOI做Excel导出的时候,如果遇到日期类型的单元格内容,我们不希望简单把单元格内容赋值成String文本,而是希望给单元格复制成Excel能认得的Date日期类型,以便在Excel中做一些计算或者统计。 如图代码很简单: Cell cell = row.createCell(i); Date date = new Date(); // 实际的日期从业务中来 cell.setCellValue(date); 不过生成了Excel后,就变成这样了(可以看到新建日期和更新日期里的内容都变成小数了):…

2022-10-20 0条评论 1521点热度 0人点赞 admin 阅读全文

我们知道,如果要替换字符串中完全相同的内容,可以直接使用String.replace(replaceAll)来替换,如果要替换的内容是正则表达式的形式呢? 举个例子,我们在做短信模板的时候,一般有这样的: 恭喜${name}报名成功,请凭报名编号${code}到现场参加活动! 需要替换${xxx}里面的内容,可以使用正则表达式来查找符合${xxx}的内容,然后替换,这就用到了matcher.appendReplacement和matcher.appendTail了。 代码如下: public static void…

2022-10-15 0条评论 1462点热度 1人点赞 admin 阅读全文
1234521