java人民币大小写转换方法 - 百易城

gojava 2021-08-05 原文


java人民币大小写转换方法

  1. [代码]java人民币大小写转换方法

  /**

  * 人民币转成大写

  *

  * @param value

  * @return String

  public static String hangeToBig(double value)

  {

  char[] hunit = { \’拾\’, \’佰\’, \’仟\’ }; // 段内位置表示

  char[] vunit = { \’万\’, \’亿\’ }; // 段名表示

  char[] digit = { \’零\’, \’壹\’, \’贰\’, \’叁\’, \’肆\’, \’伍\’, \’陆\’, \’柒\’, \’捌\’, \’玖\’ }; // 数字表示

  long midVal = (long) (value * 100); // 转化成整形

  String valStr = String.valueOf(midVal); // 转化成字符串

  String head = valStr.substring(0, valStr.length() – 2); // 取整数部分

  String rail = valStr.substring(valStr.length() – 2); // 取小数部分

  String prefix = “”; // 整数部分转化的结果

  String suffix = “”; // 小数部分转化的结果

  处理小数点后面的java培训

  if (rail.equals(“00”))

  { // 如果小数部分为0

  suffix = “整”;

  }

  else

  {

  suffix = digit[rail.charAt(0) – \’0\’] + “角” + digit[rail.charAt(1) – \’0\’] + “分”; // 否则把角分转化出来

  }

  // 处理小数点前面的数

  char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组

  char zero = \’0\’; // 标志\’0\’表示出现过0

  byte zeroSerNum = 0; // 连续出现0的次数

  for (int i = 0; i < chDig.length; i++)

  { // 循环处理每个数字

  int idx = (chDig.length – i – 1) % 4; // 取段内位置

  int vidx = (chDig.length – i – 1) / 4; // 取段位置

  if (chDig[i] == \’0\’)

  { // 如果当前字符是0

  zeroSerNum++; // 连续0次数递增

  if (zero == \’0\’)

  { // 标志

  zero = digit[0];

  }

  else if (idx == 0 && vidx > 0 && zeroSerNum < 4)

  {

  prefix += vunit[vidx – 1];

  zero = \’0\’;

  }

  continue;

  }

  zeroSerNum = 0; // 连续0次数清零

  if (zero != \’0\’)

  { // 如果标志不为0,则加上,例如万,亿什么的

  prefix += zero;

  zero = \’0\’;

  }

  prefix += digit[chDig[i] – \’0\’]; // 转化该数字表示

  if (idx > 0)

  prefix += hunit[idx – 1];

  if (idx == 0 && vidx > 0)

  {

  prefix += vunit[vidx – 1]; // 段结束位置应该加上段名如万,亿

  }

  }

  if (prefix.length() > 0)

  prefix += \’圆\’; // 如果整数部分存在,则有圆的字样

  return prefix + suffix; // 返回正确表示

  }

  

发表于
2014-01-16 14:36 
百易城 
阅读(693
评论(0
编辑 
收藏 
举报

 

版权声明:本文为gojava原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gojava/p/3522492.html

java人民币大小写转换方法 - 百易城的更多相关文章

  1. docker的安装和简单配置 – dwSun

    docker的安装和简单配置 docker的安装和简单配置 docker是balabalabala… […]...

  2. 糙米 米糠 麸皮 – ☀宝宝合凤凰☀

    糙米 米糠 麸皮 2014-09-22 14:28  ☀宝宝合凤凰☀  阅读(2601)  评论(0)  编辑 […]...

  3. .NET的前世今生与将来 – 灵感之源

    .NET的前世今生与将来 2018-09-15 08:13  灵感之源  阅读(6644)  评论(89)  […]...

  4. HP Notebook PCs – Updating the BIOS

    HP Notebook PCs – Updating the BIOS Updating the […]...

  5. wps中开始支持javascript了 – fan2006

    wps中开始支持javascript了 在wps最新的测试版中支持开始撸javascript了。今天测试了一下 […]...

  6. php接收二进制流 – 铁猛

    php接收二进制流    /** 二进制流生成文件 * $_POST 无法解释二进制流,需要用到 $GLOBA […]...

  7. 软件测试2021:第一次作业 — 热身练习

    软件测试2021:第一次作业——热身练习 分析软件失效原因 案例一 1.基本信息:12306火车票网上订票系统 […]...

  8. [数据库系列之MySQL] Mysql整体架构浅析一 – pony1223

    [数据库系列之MySQL] Mysql整体架构浅析一 一、引言 平时我们在做Java系统时,一般情况下都会连接 […]...

随机推荐

  1. 漫画 | 什么是散列表(哈希表)?

    创建与输入数组相等长度的新数组,作为直接寻址表。两数之和的期望是Target,将Target依次减输入数组的元 […]...

  2. 试题:论软件的系统测试及其应用

    试题:论软件的系统测试及其应用 软件测试是软件交付客户前必须要完成的重要步骤之一,目前仍是发现软件错误(缺陷) […]...

  3. 【Linux】MGR部署脚本

    脚本没有完善,现在只有上半部分的基础环境搭建 【准备条件】   1.三个节点的防火墙关闭   2.原有mysq […]...

  4. java Swing可视化开发工具 – youxin

    java Swing可视化开发工具 2013-06-15 19:08  youxin  阅读(6923)  评 […]...

  5. register_chrdev,register_chrdev_region和alloc_chrdev_region的关系和区别

    register_chrdev,register_chrdev_region和alloc_chrdev_reg […]...

  6. 手机酷派4G5316 5313s 黑砖 求转成功 9008端口 9006端口 少走弯路选对镜像

       首先要有资料 里面有教程  http://pan.baidu.com/s/1bpjxP6n     1. […]...

  7. python基础

    编程风格\#!/usr/bin/env python #在文件头部 ( 第一行 ) 加上 设置 Python 解释器 \# -*- coding: utf-8 -*- #在文件头部 ( 第二行 ) 加上 在编辑器中设置以 UTF...

  8. Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量

    原文链接:Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量 在 K […]...

展开目录

目录导航