`
sassds
  • 浏览: 154958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

人民币转成大写

    博客分类:
  • java
阅读更多
package tools;

public class Snippet {
	/**
	     * 人民币转成大写
	     * 
	     * @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 = ""; // 小数部分转化的结果
	        // 处理小数点后面的数
	        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; // 返回正确表示
	    }
}
分享到:
评论

相关推荐

    小写人民币转换成大写人民币

    ### 小写人民币转换成大写人民币 在财务、会计以及正式文件中,为了防止篡改,经常需要将小写的阿拉伯数字金额转换为大写形式。这种转换在银行支票填写、合同金额书写等方面尤为常见。本文将详细介绍如何实现从小写...

    EXCEL电子表格小写人民币转换成大写知识.pdf

    在Excel电子表格中,将小写人民币转换成大写是一项常见的财务操作,特别是在编制财务报表或填写支票时。以下是一些关于如何在Excel中实现这一转换的关键知识点: 1. **推荐公式1**: 这个公式首先检查数值是否为...

    人民币转换成大写

    本文将深入探讨如何使用ASP(Active Server Pages)来解决“人民币由数字转换成中文大写”的问题。 ASP是一种服务器端脚本环境,它允许开发人员创建动态网页和Web应用程序。在处理人民币数字到大写的转换时,我们...

    c#写的小写人民币转换成大写人民币

    根据提供的文件信息,本文将详细解释如何使用C#语言实现小写人民币数字转换为大写人民币数字的功能。此过程涉及到的编码技术、算法设计及实际应用场景等知识点。 ### C#编程语言简介 C#(发音为 "C Sharp")是由...

    c#人民币小写转换为大写

    这个方法接受一个表示人民币金额的小写字符串,然后通过一系列的除法和取余运算,将每个位上的数字转换成对应的汉字,最后拼接成完整的人民币大写形式。 在实际使用时,你可以这样调用这个方法: ```csharp string...

    人民币数字转换成汉字大写

    人民币数字转换成汉字大写 android Java 运行效率

    Java人民币金额数字转换成大写

    Java 人民币金额数字转换成大写 Java 人民币金额数字转换成大写是 Java 面试中最常见的问题之一。本文将详细介绍如何使用 Java 实现人民币金额数字转换成大写的解决方案。 Java 中的 NumberFormat 类 在 Java 中...

    PHP 人民币小写转换成大写

    这篇博客"PHP 人民币小写转换成大写"提供了一个实用的解决方案,通过源码实现这一功能。 首先,我们需要理解人民币金额的大写规则。在中国,人民币金额的大写包括壹、贰、叁、肆、伍、陆、柒、捌、玖、零这些汉字,...

    python实现人民币大写转换

    本文实例为大家分享了python实现人民币大写转换的具体代码,供大家参考,具体内容如下 #!/usr/bin/python # -*- coding:utf-8 -*- # ********* 转换方法介绍 ********* # 将需要转换的数字从右向左,每4位分成一个...

    小写人民币转大写ACCESS函数

    ### 小写人民币转大写ACCESS函数解析 #### 背景介绍 在日常的财务工作中,经常需要将数字格式的金额转换成汉字大写形式,尤其是在开具支票、填写电汇凭证或制作记账凭证时更为常见。这种转换不仅能够提高正式文件的...

    人民币数字转大写.java

    人民币数字转大写.java

    人民币转换为大写

    人民币转换为大写

    在Excel中将人民币金额小写转成大写

    在Excel中将人民币金额小写转成大写 在Excel中将人民币金额小写转成大写 在Excel中将人民币金额小写转成大写

    java实现数字转换人民币中文大写工具

    Java 实现数字转换人民币中文大写工具 Java 实现数字转换人民币中文大写工具是指使用 Java 语言将数字转换为人民币中文大写格式的工具。该工具具有很高的实用价值,特别是在人事业务系统开发中,经常需要将数字转换...

    人民币小写转大写,方便大家

    人民币小写转大写人民币小写转大写人民币小写转大写

    JS实现人民币小写转大写

    在JavaScript编程中,有时我们需要将人民币的数字金额(小写)转换为中文的大写形式,以便于财务报表或发票的规范书写。这个过程涉及到字符映射、数字处理以及字符串操作等多个知识点。以下是对这个主题的详细说明:...

    数字转换成人民币大写

    数字转换成人民币大写

    java程序实现人民币大写转换

    这是一个把人民币数字转换成大写的java程序

    mysql函数,将数字金额转成人民币大写

    在MySQL数据库中,有时我们需要将...综上所述,要在MySQL中实现数字金额到人民币大写的转换,可以自定义函数或利用内置函数结合条件判断来完成。具体实现需要考虑汉字对应、整数和小数部分的处理、特殊情况的规则等。

    人民币转换为大写包含负数

    本话题聚焦于“人民币转换为大写”,并且要考虑负数和保留两位小数的情况。在处理这样的需求时,开发者需要熟悉中国的货币表示规则以及相关的编程技巧。 首先,人民币的数字表示分为小写和大写两种形式。小写是常规...

Global site tag (gtag.js) - Google Analytics