大额数字转节权位
一花凋零,荒芜不了整个春天。——巴尔扎克 今天在hutool提交了个PR https://gitee.com/dromara/hutool/pulls/536 NumberChineseFormatter.formatSimple,用于将阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万 代码如下: 1234567891011121314151617181920/** * 阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万 * * @param amount 数字 * @return 中文 */public static String formatSimple(long amount) { if (amount < 1_0000 && amount > -1_0000) { return String.valueOf(amount); } String res; if (amount < 1_0000...
mysql数据库信息函数
我将仇恨写在冰上,然后期待太阳的升起。——加西亚马尔克斯 打开mysql官方文档:Information Functions 可以看到mysql查询库表信息的函数 Name Description BENCHMARK() Repeatedly execute an expression CHARSET() Return the character set of the argument COERCIBILITY() Return the collation coercibility value of the string argument COLLATION() Return the collation of the string argument CONNECTION_ID() Return the connection ID (thread ID) for the connection CURRENT_ROLE() Return the current active roles CURRENT_USER(), CURRENT_USER...
cargo配置镜像源
活着不一定要鲜艳,但一定要有自己的颜色。——张曙光 找到目录C:\Users\你的用户\.cargo 下面新建一个文件config 填入以下内容: 12345[source.crates-io]registry = "https://github.com/rust-lang/crates.io-index"replace-with = 'ustc'[source.ustc]registry = "git://mirrors.ustc.edu.cn/crates.io-index" 保存即可
prettier格式化问题
惟沉默是最高的轻蔑——鲁迅 今天用prettier插件格式化js代码时发现解构赋值被换行了,可读性变得很低 原来我的代码样式: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748module.exports = { executeMiniLogin(vm) { uni.login({ provider: 'weixin', success: async ({ code, errMsg }) => { if (errMsg != 'login:ok') { uni.$u.toast(`登录失败, 原因: ${errMsg}`); return } uni.$u.api.getTokenByCode(code).then(({ data, sessionKey,...
windows窗口归位
道之所在,虽千万人吾往矣——《孟子》 今天发现在双屏时使用的finalShell变回但屏后没有改回原来的位置,跑到屏幕外边去了 怎么点也点不回来,最后用了个大佬写的窗口归位 点一下就好了 非常好用,下载链接我这备份一份: 点我下载
INSERT ... ON DUPLICATE KEY UPDATE Statement
打开mysql文档,总会有新发现。——碧安瑶 我们在使用INSERT语句时,有时会有这样的需求,不存在就新增,存在就更新 此时我们可以使用INSERT ... ON DUPLICATE KEY UPDATE语句 就像mysql官方文档中提到的那样,我们如果将a列设为UNIQUE唯一索引或者主键时,并且当前表已经存在了a=1的数据,对于这种情况,下面两条sql的结果是相等的 当然如果不满足上方条件,则会新增一条数据 1234INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;UPDATE t1 SET c=c+1 WHERE a=1; 对于InnoDB引擎的表,此处的新增可能会触发自增列,但修改操作不会触发 如果上方的唯一索引再加一个b列,则上方第一条sql和下方sql结果相等 1UPDATE t1 SET c=c+1 WHERE a=1 OR b=2 LIMIT 1; 注意如果此处a=1 or b=2匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...
标签模板
不慕古,不留今,与时变,与俗化。——《管子·正世》 按照阮一峰ES6入门中写到的 我们可以使用函数名+模板字符串写法来调用函数,例如: 定义这样一个函数 123function templateFun(arguments){ return `Hello ${arguments[0]}!`} 这里简单用模板字符串,返回Hello +参数数组第一项元素+! 我们普通调用写法: 1templateFun(['Ruben']) 输出'Hello Ruben!' 我们如果使用标签模板,写法如下: 1templateFun`Ruben` 如果其中有变量,则会进行剥离拆分,我们对函数稍加修改,参数改为可变参数 12345function templateFun(...arguments){ console.log(arguments) return `Hello ${arguments}!`}templateFun`Ruben${'...
js原型对象
不存在十全十美的文章,如同不存在彻头彻尾的绝望。——《且听风吟》 我们首先定义一个对象 1234567891011class Person { constructor(name,age) { this.name = name; this.age = age; } toString() { return '(' + this.name + ', ' + this.age + ')'; }};let ruben = new Person("ruben",21);console.log(ruben.toString()) 打印结果为: 1(ruben,21) 我们可以使用Person.prototype去获取Person的原型对象,从而更改类其中的方法 1234567Person.prototype.toString = function(){ return "Person{&q...
使用cargo创建rust程序并运行
如果问我思念多重,不重的,像一座秋山的落叶。——简媜 我们按照文档在路径中打开命令行终端 1cargo new world_hello 我们现在就可以运行了 12cd .\world_hello\cargo run 可以看到输出了Hello, world 我们用vscode打开 可以对我们的代码进行少许更改,然后再次运行 123fn main() { println!("world, Hello!");} 再次运行 1cargo run 可以看到我们的修改生效
安装vscode的rust插件
故乡处于大地的中央——海德格尔 我们使用vscode进行rust开发时可以下载一些插件来提升开发效率 rust-analyzer:rust语言支持 然后是Better TOML:更好的展示.toml文件 接下来是Error Lens:更好的获得错误展示 以及CodeLLDB:Debugger程序
