unicode中文数字与阿拉伯数字转换
一不小心,接触到js与java后台了,功能最终要的结果是每次添加同一个类别的数据的时候在类别的后面添加一个中文的数字,取的是数据库里面的最大值加1;
分析:
1.js获取的数据将从后台获取,后台将从数据库中获取,问题来了,数据库存中文数字的时候将无法确定最大数值,因为如果通过计算机进行比较,有点麻烦,得出结论是在苦中存unicode;
2.java获取的类别名称取出unicode数值,通过正则匹配到具体数值;
3.利用数组特性,取0-9 10个数据做数据类型是string类型,下标0是unicode的“零”,类推。。。
4.js返回到后台的是阿拉伯数字,如10,11,这时候就要将其装箱城string然后遍历上面定义的数组,再拼接,这样就实现了转换(或者在js中每次加1再做转换,原理一样);
补充一下:计算机可以比较两个unicode中文字符的大小的,但是比较大写的数字的时候有点麻烦,笔画不一样;
java转换主要代码:
//正则匹配"()"表达式
private static final String regexString=".*?\\((.*?)\\).*?";
返回给js:
public R getAlia(String alias,String path){String []arr=new String[]{"零","一", "二", "三", "四", "五", "六", "七","八", "九"};path=map.get(path);String ss=path+File.separator+alias;EntityWrapper entityWrapper1=new EntityWrapper();entityWrapper1.setEntity(new DtxmwjEntity());entityWrapper1.where("wjmlmc={0}",ss);DtxmwjEntity dtxmwjEntity = dtxmwjService.selectOne(entityWrapper1);if (dtxmwjEntity==null){return R.error(1,"不存在");}EntityWrapper entityWrapper=new EntityWrapper();entityWrapper.setEntity(new DtwjxxEntity());entityWrapper.where("xmwjid={0}",dtxmwjEntity.getXmwjid());entityWrapper.like(StringUtils.isNotBlank(alias), "wjtm", alias);List<DtwjxxEntity> list = dtwjxxService.selectList(entityWrapper);if (list==null){return R.error(1,"不存在");}//集合都是数据结构+算法List<String>list1=new ArrayList<>();List<Integer>list2=new ArrayList<>();Pattern pattern1 = Pattern.compile(regexString);for (int a=0;a<list.size();a++){String wjtm = list.get(a).getWjtm();//上面的都是浮云,这里是最主要的正则匹配到中文数字Matcher matcher1 = pattern1.matcher(wjtm);if (matcher1.matches()){list1.add(matcher1.group(1));}else {list1.add("零");}}for (int a=0;a<list1.size();a++){String s=list1.get(a);StringBuilder stringBuilder=new StringBuilder();for (int c=0;c<s.length();c++){for (int d=0;d<arr.length;d++){if ((s.charAt(c)+"").equals(arr[d])){stringBuilder.append(d);}}}int i = Integer.parseInt(stringBuilder.toString());list2.add(i);}int max = Collections.max(list2);return R.ok().put("max",max);}
unicode中文数字与阿拉伯数字转换相关推荐
- 中文数字与阿拉伯数字转换(Python)
cn2an 是一个快速转化 中文数字 和 阿拉伯数字 的工具包 相关链接 cn2an工具包Github地址 在线测试平台 install git clone https://github.com/Ai ...
- jq 数字转中文数字_阿拉伯数字 转换 中文大写
阿拉伯数字 转换 中文大写 class ToChineseNumber { private $money = ""; private $cnynums = array(" ...
- 【BAT】中文数字to阿拉伯数字转换
将下面脚本保存到文本文档,另存为后缀.bat ,运行即可. 功能:将当前目录下所有文件文件名中的中文数字改为英文数字. @echo off for /f "delims=" %%i ...
- cn2.php中文,Python使用cn2an实现中文数字与阿拉伯数字的相互转换
工作中经常遇到阿拉伯数字转换称为中文数字或者大写金额,在网上搜了下,cn2an口碑较好,遂进行了一番学习. 安装 pip install cn2an 依赖库为setuptools.PyYAML 查看版 ...
- python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例
本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...
- 中文数字与阿拉伯数字的转换
工作中,中文大写数字/金额需要转为阿拉伯数字,原本自己写的解析转换太麻烦. 忽然发现有做好的模块cn2an: 优点: 1.可以直接识别句子中的中文数字,省去写re 2.不同的匹配模式控制精确度 缺 ...
- android数字转汉字,【原创】最精简的中文数字和阿拉伯数字互相转换函数
public class ChineseNumUtils { /** * 中文数字转阿拉伯数字 * (长度不能超过long最大值) * * @param chNum 中文数字 * @return 阿拉 ...
- python数字转中文字符_Python实现中文数字转换为阿拉伯数字的方法示例
本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...
- c# 中文数字转阿拉伯数字
最近迷上了看网络小说,手机上的小说阅读器全都是收费的,所以决定下载下载再导入到手机上,可是能下载到的现成的TXT格式小说全都被打了广告,仔细看的时候像一些"首"."发&q ...
最新文章
- 看《超级演说家》有感
- oracle11 不更新记录,oracle11g 使用first_value获取表中不连接的ID号及掉失记录数量...
- UVA 10269 Super Mario,最短路+动态规划
- Python实现AES加密进行PKCS5Padding的填充
- 应试教育下的三大群体
- geotools 读取shp属性过滤_Flink进阶之使用布隆过滤器实现UV统计
- 第二次力扣周赛:排名149 / 2046;在完赛边缘打转(总结了5点,实力还不够)
- 第 13 章 MEncoder的基础用法
- 不规则形状 前端_精度提升第一步:形状各异测区的像控点布设方案
- Web CAD SDK 14.1 Crack
- Linux网络编程 --- HTTP协议
- OpenStack基本安装步骤
- vmware esxi 资源池详解
- unity python做热更_Unity热更方案汇总
- 企业研发人员配备比例_申报高新企业研发人员工资比例
- Linux征途服务端启动,linux征途之系统开机流程
- 美国旅游签证办理流程
- Raspberry——Pi Pico和Pico W对比
- 光伏并网逆变器设计方案,附有相关的matlab电路仿真文件,以及DSP的程序代码
- 苹果三代耳机_Airpods pro苹果三代无线蓝牙耳机
热门文章
- Java序列化连环炮:是什么?为什么需要?如何实现?
- 浅谈WMS系统(SAP WMS系统及非SAP的WMS系统)
- 【转】2014 IT公司校招应届生待遇大揭秘
- 百度地图api实现的定位,导航,附近搜索
- U盘插上,在我的电脑中不显示盘符怎么办?
- 【Minecraft】10分钟教你搭建我的世界Java版开服教程【Linux服务器+MCSManager管理面板】
- 2021年汽车驾驶员(技师)模拟考试软件及汽车驾驶员(技师)理论考试
- matlab中的plot函数
- zookeeper(五)集群角色epoch的选取
- javascript 模板_了解JavaScript中的模板文字