数字、钱工具栏

 /*** 提取字符串中的 数字 带小数点 ,没有就返回"0"** @param money* @return*/fun getMoney(money: String): String {var money = moneyvar pattern = Pattern.compile("(\\d+\\.\\d+)")var m = pattern.matcher(money)if (m.find()) {money = if (m.group(1) == null) "0" else m.group(1) as String} else {pattern = Pattern.compile("(\\d+)")m = pattern.matcher(money)money = if (m.find()) {if (m.group(1) == null) "" else m.group(1)} else {"0"}}return money}/*** 汉字转数字* 一零零八六:10086* 一千零四十五:1045*/fun hanZiToArabic(hanziNumber: String): String {val numberMap = mapOf("零" to 0, "一" to 1, "二" to 2, "两" to 2,"三" to 3, "四" to 4, "五" to 5, "六" to 6,"七" to 7, "八" to 8, "九" to 9)val unit = mapOf("万" to 10000, "千" to 1000, "百" to 100,"十" to 10)//包含计数单位var have=falserun loop@{unit.forEach { (s, i) ->have =hanziNumber.contains(s)if(have){return@loop}}}return if(have){//一千零四十五val numbers = mutableListOf<Int>()unit.forEach { (s, i) ->val index = hanziNumber.indexOf(s)if(index!=-1){numberMap[hanziNumber[index-1].toString()]?.let {numbers.add(it * i)}}}numberMap[hanziNumber.last().toString()]?.let {numbers.add(it)//加上个位数}numbers.reduce { acc, i ->  acc+i}.toString()//求和}else {//一零零八六var result = ""for (character in hanziNumber) {val number = numberMap[character.toString()]if (number != null) {result += number}}result}}

测试:

public class ExampleUnitTest {@Testpublic void test(){String aa = NumberUtils.INSTANCE.hanZiToArabic("一零五零");System.err.println("一零五零 to "+aa);String aa2 = NumberUtils.INSTANCE.hanZiToArabic("一万五千六十七");System.err.println("一万五千六十七 to "+aa2);}
}

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/22110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据挖掘实战-基于长短期记忆网络(LSTM)的黄金价格预测模型 | 97% 准确度

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

PHP是世界上最好的编程语言?深入剖析其优势与挑战

PHP是世界上最好的编程语言&#xff1f;深入剖析其优势与挑战 PHP&#xff0c;作为一种广泛应用于Web开发的编程语言&#xff0c;常被一些人赞誉为“世界上最好的编程语言”。然而&#xff0c;这样的论断是否真的站得住脚&#xff1f;本文将从四个方面、五个方面、六个方面和七…

攻防世界babyRE做法(Linux调试)

在做题之前我们先了解一些知识点&#xff0c;首先是汇编中的知识点&#xff0c;汇编中&#xff0c;数据和代码可以说是一回事&#xff0c;数据和代码可以无条件相互转换&#xff0c;换句话说&#xff0c;数据就是代码&#xff0c;代码就是数据 接下来开始做题&#xff0c;简单…

【经验总结】怎样查看计算机CPU核数量

方法一&#xff1a;任务管理器 方法二&#xff1a;设备管理器 选中“计算机”右击&#xff0c;选择“属性”&#xff1a; 选择“设备管理器”->“处理器”&#xff0c;有几行就代表有几个核&#xff1a;

Ubuntu系统升级k8s节点的node节点遇到的问题

从1.23版本升级到1.28版本 node节点的是Ubuntu系统20.04的版本 Q1 node节点版本1.23升级1.28失败 解决办法&#xff1a; # 改为阿里云镜像 vim /etc/apt/sources.list.d/kubernetes.list# 新增 deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main# 执…

浙江大爱遮阳新材料股份有限公司新品发布会圆满成功

5月29日,浙江大爱遮阳新材料股份有限公司新品发布会在上海国家会展中心举办。本次会议出席的嘉宾有浙江大爱遮阳新材料股份有限公司总经理俞彬军,常务副总王志华,上海大爱益可美遮阳科技有限公司总经理陆俊青,浙江大爱遮阳新材料股份有限公司销售经理平鸿烈,销售经理蒋扬锋和玛…

vmware将物理机|虚拟机转化为vmware虚机

有时&#xff0c;我们需要从不同的云平台迁移虚拟机、上下云、或者需要将不再受支持的老旧的物理服务器转化为虚拟机&#xff0c;这时&#xff0c;我们可以用一款虚拟机转化工具&#xff1a;vmware vcenter converter standalone&#xff0c;我用的是6.6的版本&#xff0c;当然…

美国专利短语相似度大赛

1.特殊token [cls],[sep],[pas],[unk] 2.皮尔逊系数 利用metric矩阵获得评价指标 def compute_metrics(eval_pred):predictions, labels eval_predpredictions predictions.reshape(len(predictions))return {pearson: np.corrcoef(predictions, labels)[0][1]} 3.bert …

第六篇 移位寄存器

实验六 移位寄存器 6.1实验目的 掌握移位寄存器的工作原理&#xff1b; 掌握利用移位寄存器实现串行与并行的相互转换&#xff1b; 掌握使用移位寄存器实现乘除法运算&#xff1b; 6.2 原理介绍 6.2.1 基本移位寄存器 在实验四中&#xff0c;我们主要介绍了寄存器的结构…

qnx sepol 和 vmm_service

qnx/hlos_dev_qnx/apps/qnx_ap/target/hypervisor/host/build_files/init_mifs.build.tmpl:74: SECPOL_ENABLE1 编译生成 secpol.bin 打包进ifs_la.img https://download.csdn.net/blog/column/11845877/128596292 qnx/hlos_dev_qnx/apps/qnx_ap/AMSS/platform/vm/resource…

突破性技术: 大语言模型LLM量化激活outliers异常值抑制

LLM过去有两种突破性技术大大提升了量化精度&#xff0c;分别是group-wise量化和GPTQ/AWQ量化。前者相比于过去的per-tensor和per-channel/per-axis量化提出了更细粒度的对channel拆分为更小单元的量化方式&#xff0c;后者通过巧妙的算法明显提升了4bit量化的精度。 LLM量化存…

【TB作品】MSP430G2553单片机,读取dht11,读取ds18b20,温度报警器

功能 读取dht11温湿度显示到oled 读取ds18b20温度显示到oled 按键修改温度上限 温度超出温度上限就蜂鸣器报警 硬件接法 oled接法 0.96 寸 7针 oled // GND 电源地 // VCC 3.3v电源 // D0 P23&#xff08;时钟&#xff09; // D1 P24&#xff08;数据&#xff09; // RES 接…

LeetCode25_K个一组翻转链表

. - 力扣&#xff08;LeetCode&#xff09; 一、题目描述 二、过程模拟 1. 第一步 2. 第二步&#xff1a;子链表分组 3. 第三步&#xff1a;断开前后两组 4. 第四步&#xff1a;翻转start到end的部分 5. 第五步&#xff1a;连接翻转好的前半部分和未翻转的后半部分&#xff…

怎么把照片转成jpg

将照片转换成JPG格式是一个相对简单的过程&#xff0c;适用于大多数设备和操作系统。以下是一些常见的方法&#xff1a; 一、在Windows系统中转换照片格式 使用画图工具 打开你想要转换的照片&#xff0c;右击选择“打开方式”里面的“画图”工具。在画图工具的界面上&#xf…

《世界很喧嚣,做自己就好》有感

仅仅只用了两个中午一个晚上就看完了《世界很喧嚣&#xff0c;做自己就好》&#xff0c;不能说看完&#xff0c;应该说浏览完。决定要看这本书&#xff0c;仅仅只是因为它的书名。前几章还认真看&#xff0c;后面越来越快&#xff0c;再后来一目十行&#xff0c;只重点关注黑色…

设备树接口函数

0.前言 在前一篇博客里面&#xff0c;写设备树语法介绍和接口函数的时候&#xff0c;写到一半发现csdn有篇幅限制&#xff0c;现在在此篇进行补充。 之前的文章路径如下 驱动开发之设备树语法-CSDN博客 1.接口函数 1.1.of_property_read_xx_array 函数 int of_property_r…

富格林:正确抵制黑幕被骗陷阱

富格林指出&#xff0c;投资现货黄金对于新手投资者来说是一项有挑战性的任务&#xff0c;但其中最难的还属如何正确抵制黑幕被骗陷阱。事实上&#xff0c;我们可以采取一系列的措施来正确抵制黑幕被骗陷阱。有哪些措施可以帮助我们呢&#xff1f;下面富格林就给大家讲讲。 许…

Python笔记 - *args和**kwargs

探索Python的*args和**kwargs 在Python中&#xff0c;函数可以接受任意数量的参数&#xff0c;而这要归功于*args和**kwargs的强大功能。这两个特性使得函数在处理不同数量的输入时变得更加灵活和高效。在这篇博客中&#xff0c;我们将详细介绍*args和**kwargs&#xff0c;并展…

Redis键值数据库详解(科普面试必看)

目录 一、引言 二、Redis概述 三、Redis的特性 四、Redis的数据结构 五、Redis的应用场景 六、Redis的优化措施 一、引言 在当今大数据和云计算的时代&#xff0c;高效、稳定的数据存储与检索系统成为保障系统性能和可靠性的重要基础。键值数据库&#xff08;Key-Value …

找回以前的视频:技术与实践3个指南

你们有没有发现现在视频已经成为我们生活中不可或缺的一部分了&#xff1f;不管是在工作场合做演示、在学习时看教学视频&#xff0c;还是在休闲娱乐时追剧看电影&#xff0c;视频都扮演着超级重要的角色。 然而误删或手机故障的发生很可能将以前的视频清除。本文将深入探讨手…