文档章节

java 数字金额大写转换

kiy
 kiy
发布于 2014/04/11 13:36
字数 201
阅读 46
收藏 0
 /**
     * 数字金额大写转换,思想先写个完整的然后将如零拾替换成零 要用到正则表达式
     */
    public String digitUppercase(double n)
    {
     String fraction[] = {"角", "分"};
     String digit[] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
     String unit[][] = {{"元", "万", "亿"}, {"", "拾", "佰", "仟"}};
     String head = n < 0 ? "负" : "";
     n = Math.abs(n);
     String s = "";
     for (int i = 0; i < fraction.length; i++)
     {
      s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i])
        .replaceAll("(零.)+", "");
     }
     if (s.length() < 1)
     {
      s = "整";
     }
     int integerPart = (int) Math.floor(n);
     for (int i = 0; i < unit[0].length && integerPart > 0; i++)
     {
      String p = "";
      for (int j = 0; j < unit[1].length && n > 0; j++)
      {
       p = digit[integerPart % 10] + unit[1][j] + p;
       integerPart = integerPart / 10;
      }
      s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;
     }
     return head
       + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "")
         .replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
    }

© 著作权归作者所有

kiy

kiy

粉丝 0
博文 11
码字总数 4068
作品 0
宁波
私信 提问
猪猪的IT之路---Java成长之路day01下

使用eclipse创建第一个java项目和第一个java文件(类文件) 1.新建项目:打开eclipse:file-new-java project Project name:自定义的 Location:指向项目存储地址 JRE:需要注意其版本 新建好的...

猪猪代言人
01/03
0
0
java基础--JDK安装、环境变量配置、工具开发第一个程序、数据类型、运算符

-----Java基础大纲----- **-----本章节-----** 1.Java语言的历史、特点及工作原理 2.JRE和JDK的介绍 3.Java运行环境和开发工具 4.Java基础语法 **-----下一章节-----** 5.条件语句 6.循环 7....

我是宁采臣
2018/06/26
0
0
编写高质量代码改善java程序的151个建议——[1-3]基础?亦是基础

The reasonable man adapts himself to the world;the unreasonable one persists in trying to adapt the world to himself. —萧伯纳 相信自己看得懂就看得懂了,相信自己能写下去,我就开始......

泥沙砖瓦浆木匠
2014/05/27
344
0
2-Java基础语法-常量与变量

常量与变量 主要内容: 标识符 关键字 变量 数据类型 类型转换 常量 标识符 我们所认识的标识符: 类的名字,每一个字母是字符。 数字不能作为标识符的开头,标识符中间不能有空格。 标识符的命...

天涯明月笙
2018/07/30
0
0
Character的static方法

基本类型char的包装类是Character,使用的比较多,大家是比较熟悉的。 我只是觉得里面有很多static方法,平时不怎么用,学习一下怎么实现的,或许日后就用到了。 static int compare(char x,...

woshixin
2018/10/17
13
0

没有更多内容

加载失败,请刷新页面

加载更多

redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部