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

将小写金额四舍五入保留两位小数,转换成大写金额

阅读更多
将小写金额四舍五入保留两位小数,转换成大写金额

网上收集了很多,比较改写,觉得这个好用

import java.text.DecimalFormat;

/**
 * <ul>
 * <li>项目名称: XXXX</li>
 * <li>功能描述: 将小写金额四舍五入保留两位小数,转换成大写金额</li>
 * </ul>
 * @author ****
 */
public class SimpleMoneyFormat
{
    /**
     * <ul>
     * <li>功能描述: 将小写金额四舍五入保留两位小数,转换成大写金额</li>
     * </ul>
     * @author ***
     */
    public static String toChineseCurrency(Number o) {
        String s = new DecimalFormat("#.00").format(o);
        //System.out.println(s);
        s = s.replaceAll("\\.", "");
        char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' };
        String unit = "仟佰拾兆仟佰拾亿仟佰拾万仟佰拾元角分";
        int l = unit.length();
        StringBuffer sb = new StringBuffer(unit);
        for (int i = s.length() - 1; i >= 0; i--)
            sb = sb.insert(l - s.length() + i, digit[(s.charAt(i) - 0x30)]);
        s = sb.substring(l - s.length(), l + s.length());
        s = s.replaceAll("零[拾佰仟]", "零").replaceAll("零{2,}", "零").replaceAll("零([兆万元])", "$1").replaceAll("零[角分]", "");
        if (s.endsWith("角"))
            s += "零分";
        if (!s.contains("角") && !s.contains("分") && s.contains("元"))
            s += "整";
        if (s.contains("分") && !s.contains("整") && !s.contains("角"))
            s = s.replace("元", "元零");
        return s;
    }
}
分享到:
评论

相关推荐

    小写金额转换成大写金额

    在IT行业中,尤其是在财务软件开发或者处理金融数据时,经常需要将小写金额转换成大写金额,以便于正式的财务报表和凭证的制作。在编程中,这种转换通常通过编写特定的函数来实现。本篇文章将详细讲解如何用PB...

    C语言成序设计__实现人民币小写金额与大写金额的转换

    在实现转换时,我们需要将小写金额的每一位数字提取出来,并将其转换为对应的大写金额数字。 在C语言中,我们可以使用数组和循环来实现这种转换。我们可以定义两个数组,一个是中文数字数组,另一个是单位数组。...

    小写金额转换为大写金额

    在金融和会计领域,金额通常会以两种形式存在:小写和大写。小写金额是常规的数字表示,如123456.78;而大写金额则是为了防止篡改和提高凭证的正式性,常用于支票、合同等正式文档中,例如“壹拾贰万叁仟肆佰伍拾陆...

    人民币小写金额转大写金额(java版)

    此程序能够处理的金额范围最大支持到“仟万亿”,即16位整数,同时还能处理带有两位小数的情况。 #### 主要特点与限制 1. **最大支持金额:** - 最大支持金额为“百万亿”(15位整数,2位小数),或者“仟万亿”...

    VB 将小写金额转换成大写金额

    ' 将金额转为字符串,保留两位小数 Dim strAmount As String = Format(amount, "0.00") ' 遍历每一位,构建大写金额 For i = Len(strAmount) - 1 To 0 Step -1 Dim digit As Integer = CInt(Mid(strAmount, i...

    小写金额转大写

    在IT行业中,编程语言Java是广泛使用的,尤其在金融、财务等领域,经常需要将小写的金额转换为大写的汉字表示,以满足规范的财务报告需求。这个“小写金额转大写”的主题就涉及到这样的一个功能实现。在这个压缩包...

    c语言小程序(人民币小写金额转换成大写金额)

    在C语言编程中,开发一个小程序来将人民币的小写金额转换为大写金额是一项常见的任务,尤其在财务软件或银行系统中。这个程序的核心在于理解人民币金额的表示规则,并将其与C语言的数据处理和字符串操作相结合。下面...

    js实现将小写金额转化为大写金额

    在JavaScript编程中,将小写金额转换为大写金额是一个常见的需求,特别是在财务或电子商务相关的应用中。大写金额主要用于正式的财务报表和发票,以提高数据的清晰度和准确性。下面我们将深入探讨如何利用JavaScript...

    小写金额转换成大写金额源码1.0

    这个"小写金额转换成大写金额源码1.0"是一个程序,其主要功能是将小写的数字金额转换为符合中国传统货币书写习惯的大写金额。这种转换对于财务报表、发票开具以及银行交易等场景非常实用,可以避免因手写或打印错误...

    C语言 金额转换大写

    - 对于小数部分,采用四舍五入的方式处理,然后分别提取十分位和百分位的数值,进行转换。 #### 代码细节分析 - **初始化与准备**: - 定义了一个`char`类型的数组`money`用于存放转换后的结果。 - `char num...

    javascript 金额转换(小写转化大写)

    5. **处理小数部分**:小数部分的转换相对简单,只需将其转换为大写即可,注意保留两位。例如,'05'转换为'零伍'。 6. **组合结果**:最后,将整数部分和小数部分的大写形式拼接起来,形成完整的大写金额。 以下是...

    小写数字转换大写金额

    在IT领域,尤其是在网页开发中,经常需要将用户输入的小写数字转换为大写金额格式,这主要用于财务、发票或银行交易等应用场景。这个过程可以通过JavaScript实现,利用JavaScript的事件处理和字符串操作功能。在本例...

    PHP 人民币小写转换成大写

    1. **预处理**:先检查输入的字符串是否符合人民币金额的格式,例如,它应该只包含数字和小数点,并且小数部分最多两位。 2. **分离整数和小数**:将输入金额分为整数部分和小数部分,以便分别处理。 3. **整数转换*...

    javascript 小写金额转化成大写

    在IT行业中,尤其是在财务系统和电子商务领域,将小写金额转换为大写是常见的需求,因为大写金额在正式的财务凭证中使用,可以避免因数字混淆而引起的错误。JavaScript作为一种广泛使用的前端脚本语言,提供了丰富的...

    C#金额小写转大写

    在C#编程环境中,将金额小写转换为大写是一项常见的需求,特别是在财务软件或银行系统中。在Microsoft Visual Studio 2010这个开发环境下,利用.NET Framework 4.0提供的类库和方法,我们可以编写出高效且准确的转换...

    Delphi编写小写金额转大写

    本知识点主要聚焦于如何使用Delphi编写程序,将小写的金额数值转换为大写汉字表示,这对于财务软件或者涉及到金额显示的应用来说是一项基础但重要的功能。 首先,我们要了解在中文中,小写金额(阿拉伯数字)转换为...

    金额小写转换为大写

    - 首先将输入的金额数值转换为其绝对值,并四舍五入保留两位小数。 - 然后将金额数值乘以100,并将其转换为字符串形式存储到`str4`中,便于后续逐位处理。 2. **字符串长度检查**: - 检查`str4`的长度是否超过...

    小写数字转换大写数字

    对于小数部分,也有类似的转换规则,但通常只转换到分(即两位小数),且小数点用“点”或“圆点”表示。对于超过四位的大数,可能需要递归或循环处理,确保所有位数都被正确转换。 总的来说,小写数字转换大写数字...

Global site tag (gtag.js) - Google Analytics