package com.test;/*** @author Administrator* @date 2018/6/8*/
public class SwitchNumber {public static void main(String[] args) {SwitchNumber modifyFileName = new SwitchNumber();int number = modifyFileName.getIntegerByNumberStr("六万七千三百八十二");System.out.println(number);number = modifyFileName.getIntegerByNumberStr("四千零一");System.out.println(number);}/*** 支持到12位** @param numberStr 中文数字* @return int 数字*/public int getIntegerByNumberStr(String numberStr) {// 返回结果int sum = 0;// null或空串直接返回if (numberStr == null || ("").equals(numberStr)) {return sum;}// 过亿的数字处理if (numberStr.indexOf("亿") > 0) {String currentNumberStr = numberStr.substring(0, numberStr.indexOf("亿"));int currentNumber = this.testA(currentNumberStr);sum += currentNumber * Math.pow(10, 8);numberStr = numberStr.substring(numberStr.indexOf("亿") + 1);}// 过万的数字处理if (numberStr.indexOf("万") > 0) {String currentNumberStr = numberStr.substring(0, numberStr.indexOf("万"));int currentNumber = this.testA(currentNumberStr);sum += currentNumber * Math.pow(10, 4);numberStr = numberStr.substring(numberStr.indexOf("万") + 1);}// 小于万的数字处理if (!("").equals(numberStr)) {int currentNumber = this.testA(numberStr);sum += currentNumber;}return sum;}/*** 把亿、万分开每4位一个单元,解析并获取到数据* @param testNumber* @return*/public int testA(String testNumber) {// 返回结果int sum = 0;// null或空串直接返回if(testNumber == null || ("").equals(testNumber)){return sum;}// 获取到千位数if (testNumber.indexOf("千") > 0) {String currentNumberStr = testNumber.substring(0, testNumber.indexOf("千"));sum += this.testB(currentNumberStr) * Math.pow(10, 3);testNumber = testNumber.substring(testNumber.indexOf("千") + 1);}// 获取到百位数if (testNumber.indexOf("百") > 0) {String currentNumberStr = testNumber.substring(0, testNumber.indexOf("百"));sum += this.testB(currentNumberStr) * Math.pow(10, 2);testNumber = testNumber.substring(testNumber.indexOf("百") + 1);}// 对于特殊情况处理 比如10-19是个数字,十五转化为一十五,然后再进行处理if (testNumber.indexOf("十") == 0) {testNumber = "一" + testNumber;}// 获取到十位数if (testNumber.indexOf("十") > 0) {String currentNumberStr = testNumber.substring(0, testNumber.indexOf("十"));sum += this.testB(currentNumberStr) * Math.pow(10, 1);testNumber = testNumber.substring(testNumber.indexOf("十") + 1);}// 获取到个位数if(!("").equals(testNumber)){sum += this.testB(testNumber.replaceAll("零",""));}return sum;}public int testB(String replaceNumber) {switch (replaceNumber) {case "一":return 1;case "二":return 2;case "三":return 3;case "四":return 4;case "五":return 5;case "六":return 6;case "七":return 7;case "八":return 8;case "九":return 9;case "零":return 0;default:return 0;}}}

使用java把中文小写数字转化为阿拉伯数字相关推荐

  1. 如何把excel里面中文小写数字转换成阿拉伯数字

    今天跟大家分享一下如何把excel里面中文小写数字转换成阿拉伯数字 1.打开要处理的Excel文件 2.将E列数据复制一份到F列中并选中 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信 ...

  2. excel小写转大写公式_EXCEL中文小写数字怎么转化成阿拉伯数字呢?

    把阿拉伯数字转化成中文小写数字,我们都知道,通过单元格格式设置就可以实现,如下图: 但是上面的转化有时并不能满足我们的需求,比如,我们需要把13转化成十三,而不是一十三,这时我们该怎么办呢? 下面我们 ...

  3. python将中文数字转化成阿拉伯数字

    python将中文数字转化成阿拉伯数字 正则表达式提取文本中的数字 中文转化成阿拉伯数字 完整代码 正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = " ...

  4. 关于把小写数字转化为大写数字的java代码

    import java.math.BigDecimal; public class ConvertNumber { /** 定义数组存放数字对应的大写 */ private final static ...

  5. 如何把大写金额变为小写数字_怎样将带有小数点的小写数字转化为大写

    Excel要将人民币小写金额转换成大写格式,将自定义格式类型中的"G/通用格式"改为G/通用格式"元"" 来实现.但在转换小数时却出现了问题,比如12 ...

  6. 《疯狂Java》1、数字转化汉字;2、乘法表;3、等腰三角形;4、区别substring按字节截取字符串;5、身份证验证器

    1.数字转化汉字 import java.util.Scanner; public class Hello {//W,J,X分别为汉字数字与进制以及小数点后进制private static Strin ...

  7. JS中将中文数字转化为阿拉伯数字

    数字转换为中文大写,我相信已经有很多的实现了,特别是一些银行金融系统中,经常会用到大写的人民币金额. 但是,反过来,怎么将这个中文描述的人民币金额转换为数字呢? 这里分享一个我很久之前写的一个转换函数 ...

  8. 关于中文的数字转化为阿拉伯的数字的解决方法

    1.这里解决的是千万级别的数字,解决思路 个 十 百 千 万 十万  百万 千万 1.把零去掉 2.按照万进行切分,分成两个部分,进行分别求解,具体的解决方案如下 import java.util.H ...

  9. 小写数字转化为大写数字

    本以为是个很简单的题,但写完之后发现各种bug,各种改.只是实现了功能而已.程序效果如下: 请输入您的数字(输入quit退出): 1 一 103 一百零三 12349234 一千二百三十四万九千二百三 ...

最新文章

  1. 2019-3:时间飞逝
  2. android 筛选控件_Flutter学习六之实现一个带筛选的列表页面
  3. 不加样本就能做数据增强?还能提效?
  4. boost::geometry::point_on_surface用法的测试程序
  5. 什么是 Web API 中的 background fetch API
  6. python特定词频统计_词频统计方案与具体实现-elasticsearch、spark、python
  7. 使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型代替text、ntext 和 image 数据类型...
  8. oracle导出导入数据库
  9. mysql的压缩版安装
  10. 单内核,微内核,混合内核OS结构比较
  11. 久其报表软件基本操作指引
  12. 【JVM】JVM基础
  13. 在Arcgis中更改图层的坐标系
  14. C语言常见的陷阱与缺陷
  15. 怎么把动图分解成图片?gif怎么拆分成几张?
  16. vue移动端用什么数据可视化插件_vue框架大屏可视化
  17. 三台路由器两台计算机华为,两台华为路由器桥接设置方法
  18. 职业学校计算机教学创新论文题目,信息技术论文题目大全
  19. 关于前端隐藏元素的问题
  20. 奥塔在线:VisualStudio中使用Git的详细配置说明

热门文章

  1. javascript实现HTML在线编辑器
  2. CakePHP中文教程5
  3. [转]SaaS风暴:中国软件企业如何应对挑战?
  4. 日本游戏制作学校探秘(原创)
  5. Python小游戏:乌龟画图
  6. Linux 使用Benq 4300U扫描仪
  7. php larval workerman,laravel框架与workerman的整合
  8. 无法量化的分析指标体系构建思路
  9. 大数据专业考研书_必看|大数据告诉你考研趋势
  10. oracle修改scott密码和解锁