`
高军威
  • 浏览: 175616 次
  • 性别: 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;
    }
}
分享到:
评论

相关推荐

    小写数字转换大写金额

    小写数字转换大写金额,onkeyup事件触发js脚本

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

    项目里需要将人民币转换为大写,有时可以输负数,保留两位小数

    人民币小写转大写(Java 实现)

    * 将double形式的字符串(有两位小数或无小数)转换成人民币的大写格式 * @param doubleStr * @return String * @throws Exception */ public static String doChangeRMB(String doubleStr)throws ...

    用PHP实现小写金额转换大写金额的代码(精确到分)

    复制代码 代码如下: /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function get_amount($num){ $c1 = “零壹贰叁肆伍陆柒捌玖”;...

    php阿拉伯数字转中文人民币大写

    *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰...

    人民币大小写转换算法 C

    转换小写金额到大写金额,支持两位小数,可支持无限大金额, 示例 10001 壹万零壹元 1010101010 壹拾亿零壹仟零壹拾万零壹仟零壹拾元

    C实验内容.doc

    实验一 基本数据处理 1.1 显示短句 在屏幕上显示一个短句“Programming is fun!” 1.2 求两个数的和与差 ...1.5 大写字母转换成小写字母 输入一个大写英文字母,输出相应的小写字母。 南京航空航天大学c语言实验内容

    大小写金额转换-源码

    //获得两位小数部分 //此处出现舍入异常,即舍入的结果无法预料,多谢 //DFW上的sichuan发现此错误,在此进行修正 //FracPart := Round(Frac(Abs(AValue)) * 100); //修正后的语句 //FracPart := Trunc(Abs(AValue)...

    EXCEL函数公式集

    如何四舍五入取两位小数 根据给定的位数,四舍五入指定的数值 四舍六入 如何实现2舍3入 怎么设置单元格以千元四舍五入 ROUND函数的四舍五入不进位的解决方法? 保留一位小数 如何三舍四入 另类四舍五入 想把小数点和...

    Excel公式大全操作应用实例(史上最全)

    如何四舍五入取两位小数 根据给定的位数,四舍五入指定的数值 四舍六入 如何实现2舍3入 怎么设置单元格以千元四舍五入 ROUND函数的四舍五入不进位的解决方法? 保留一位小数 如何三舍四入 另类四舍五入 想把小数点和...

    Excel百宝箱9.0无限制破解版.rar

    【真正的四舍五入】:将指定区域中的值执行四舍五入,可以自定义小数位数。和定义数字格式不同的是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表的系列执行条件格式,可以设置2到3个条件...

    罗刚君Word精灵 v3.0.rar

    金额大写:将小写的数值金额转换成人民币大写状态。在表格中时支持批量转换。 小数转百分比:将带有小数的值转换成百分比形式,支持批量转换。 计算表达式:将表达式转换成计算结果,支持批量转换。 千分位分隔符...

    Exce百宝箱——2012版本.rar

    【真正的四舍五入】:将指定区域中的值执行四舍五入,可以自定义小数位数。和定义数字格式不同的是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表的系列执行条件格式,可以设置2到3个条件,...

    Excel百宝箱

    【真正的四舍五入】:将指定区域中的值执行四舍五入,可以自定义小数位数。和定义数字格式不同的是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表的系列执行条件格式,可以设置2到3个条件,...

    delphi 开发经验技巧宝典源码

    0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 ...

    delphi 开发经验技巧宝典源码06

    0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 ...

    Word精灵插件 - Word增强辅助软件,批量删除空行、替换等等

    将小写的数值金额转换成人民币大写状态。在表格中时支持批量转换。 小数转百分比 将带有小数的值转换成百分比形式,支持批量转换。 计算表达式 将表达式转换成计算结果,支持批量转换。 千分位分隔符 对整数大于3位...

    Excel函数活用范例大辞典(全新版).何先军.2015-2(带书签高清文字版).pdf

    030 将跳远平均成绩保留两位小数 87 031 以“万元”为单位计算当月的产品销售总利润 89 032 汇总数量计量单位不同的金额 90 033 将员工实发工资保留“角”,忽略“分” 91 034 计算顺利完成业务需要的人数...

    C#编程经验技巧宝典

    数据处理 91 &lt;br&gt;5.1 数字处理技巧 92 &lt;br&gt;0140 如何对计算结果四舍五放入 92 &lt;br&gt;0141 如何将商品金额小写转换成大写 92 &lt;br&gt;0142 如何根据生日自动计算员工年龄 93 &lt;br&gt;0143 如何设置...

Global site tag (gtag.js) - Google Analytics