小数点坑
高尚的生活是由知识导引的生活,……没有知识的爱与没有爱的知识,都不可能产生高尚的生活。——罗素 今天看到一个有趣的issue:https://gitee.com/dromara/hutool/issues/I6REMW 问题描述(包括截图)1System.out.println(NumberUtil.add("1.00","0.00")); 在本地计算是正确的1,但是在客户德语电脑上计算出来 居然是100 原来是德国采用“,”作为小数点 https://en.wikipedia.org/wiki/Decimal_separator 在德国,小数点符号是 , 而不是 .。这意味着在德国,小数点符号用于表示小数部分,例如 3,14 表示 3 和 0.14 的和。在德国,点号 . 通常用作千位分隔符,例如 1.000 表示 1000。这与在美国和其他一些国家使用小数点符号和逗号的方式不同。因此,在进行数字计算时,需要根据不同的语言环境设置适当的小数点符号和千位分隔符。在 Java 中,可以使用 Locale 类来设置小数点符号和千位分...
vue-smooth-dnd
愤怒是由于别人的过错而惩罚自己——蒲柏 分享一个vue拖动组件 github:https://github.com/kutlugsahin/vue-smooth-dnd 在线Demo:https://kutlugsahin.github.io/vue-smooth-dnd/#/cards
jackson配置某属性只允许反序列化但不允许序列化
多和朋辈交游无疑是医治心病的良方——泰戈尔 实现jackson转json时忽略某字段,但json转对象时支持该字段的方式很简单: 只需要在getter上加@JsonIgnore,在setter上加@JsonProperty即可 例如: 1234567891011private List<Long> ids;@JsonIgnorepublic List<Long> getIds(){ return ids;}@JsonPropertypublic void setIds(List<Long> ids){ this.ids = ids; } jackson文档:https://github.com/FasterXML/jackson-docs
for...in、for...of、for await...of
处世应当谦虚,切忌轻人傲世。——佚名 简单说下区别: for...in遍历出来的是key 12345678910var obj = {a:1, b:2, c:3};for (var prop in obj) { console.log("obj." + prop + " = " + obj[prop]);}// Output:// "obj.a = 1"// "obj.b = 2"// "obj.c = 3" for...of遍历出来的是元素 123456789const array1 = ['a', 'b', 'c'];for (const element of array1) { console.log(element);}// Expected output: "a"// Expected output: "b&quo...
svgator
不要“在爱情里浪费着朝阳般的生命的火光”。——马雅可夫斯基 分享一个能制作动画svg的网站:https://www.svgator.com/ 注册: 使用
promisees
爱情是没有悲剧的。唯有缺乏爱情才有悲剧。——泰斯嘉 分享一个网站:https://bevacqua.github.io/promisees/ github:https://github.com/bevacqua/promisees 这个网站可以帮我们清晰地看到Promise的执行过程 非常的有趣和实用
dataCompare
真正的好人,是那个和所有的大家认为坏的人在一起的人。——纪伯伦 分享一个项目:https://gitee.com/dromara/data-compare 介绍dataCompare 是一个大数据数据比对和数据探测平台 (1)支持hive表数据比对,mysql、Doris 数据比对,实现自动化配置进行数据比对,避免频繁写sql 进行处理 (2)支持少量配置即可实现数据探测 对比结果展示:
mybatis的call-setters-on-nulls
一个结婚以后的朋友,无论如何不是从前的朋友了,男人的灵魂现在羼入了一些女人的灵魂。——罗曼·罗兰 我们在使用org.apache.ibatis.session.SqlSession#selectMap(java.lang.String, java.lang.String) 时会遇到字段值为null的时候,这个时候返回的map会丢失掉对应的entry节点 只需要配置mybatis.configuration.call-setters-on-nulls为true即可保留对应的entry
mp中typeHandler自动获取字段类型
相熟的人表现出恭而敬之的样子总是叫人感到可笑。——歌德 一般我们在实体类上指定 @TableName(autoResultMap = true) 即可使用typeHandler指定转换器,然后就可以自动转换了 例如List<XXX>的Json可以如下使用: 12@TableField(typeHandler = JsonListHandler.class)private List<CalcUnitEnum> calcUnits; 这里JsonListHandler如下,JacksonUtil就懒得赘述了: 1234567891011121314151617181920212223242526import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;import java.util.List;/** * @author VampireAchao * @since 2023/3/20 17:43 */public class JsonListHandler<...
svelte
我宁肯忘掉亏欠自己的而不愿忘掉亏欠别人的。——贝多芬 分享一个前端框架svelte 官网:https://svelte.dev/ 仓库链接:https://github.com/sveltejs/svelte 语法非常的简单容易上手 12345<script> let name = 'world';</script><h1>Hello {name}!</h1> 同样是响应式 非常的有意思 使用也很简单 1234npm create svelte@latest myappcd myappnpm installnpm run dev
