`
lingangw
  • 浏览: 10816 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

金额数字转化为中文(修改完善后)

阅读更多

本文对http://yoyo08.iteye.com/blog/572295的j ava之金额大小写转化算法进行修改

 

完善了四舍五入的编写,并对零的出现进行了判断,显示。

 

package test;

public class Test4 {
	private final String[] 
	str1 = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"};   
    private final String[] 
    str2 = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};   
    private final String[] 
    str3 = {"角", "分"};   
       
    public static void main(String[] args)   
    {   
        double n = 1234506.0789;   
           
        Test4 mc = new Test4();   
        String str = mc.convert(n);   
           
        System.out.println(str);   
    }   
       
    public String convert(double n)   
    {   
        String str = jinwei(n);   
        System.out.println("str = " + str);
        String temp1 = str.substring(0, str.indexOf("."));   
        String temp2 = str.substring(str.indexOf(".")+1);   
           
        int k = -1;   
        int len = -1;   
        StringBuffer sb = new StringBuffer();   
           
        len = temp1.length()-1;   
        for(int i=0; i<temp1.length(); i++)   
        {   
            k = Integer.parseInt(temp1.substring(i, i+1)); 
            if(str2[k] =="零"){
            	sb.append(str2[k]);
            }else{
            	sb.append(str2[k]).append(str1[len-i]);
            }    
        }   
           
        for(int i=0; i<2; i++)   
        {   
            k = Integer.parseInt(temp2.substring(i, i+1));
            if(str2[k] =="零"){
            	sb.append(str2[k]);
            }else{
            	sb.append(str2[k]).append(str3[i]);
            }   
        }   
           
        return sb.toString();   
    } 
    
    public String jinwei(double n){
    	String str = String.valueOf(n);
    	String temp = str.substring(str.indexOf(".")+1);
    	if(temp.length()<=2){
    		return str;
    	}else{
        	System.out.println(temp.substring(0, 3).length());
        	System.out.println(temp.substring(0, 3));
    		int m = Integer.parseInt(temp.substring(0, 3))%10;
    		System.out.println(temp);
    		System.out.println(m);
    		if(m>4){
    			n = n+0.01;
    			System.out.println(n);
    			System.out.println(String.valueOf(n).substring(0,str.indexOf(".")+3));
    			return String.valueOf(n).substring(0,str.indexOf(".")+3);
    		}else{
    			return str.substring(0,str.indexOf(".")+3);
    		}
    	}
		
    	
    }
}
 

 

 

分享到:
评论

相关推荐

    C#大小写金额转换代码

    C#大小写金额转换代码,修改了以前代码的漏洞,更完善,不过只能转换到小于1万亿的数字。 分享大家

    c++钱的小写转换为大写的函数

    - `CStringDx[10]`:用于存储大写金额数字的数组,但实际值似乎并未正确赋值。 - `CStringQz[8]`:用于存储大写金额单位(角、分)的数组,同样存在问题。 - `dJe`:存储转换前的小写金额。 - `iJe`:将`dJe`乘以100...

    C#人名币大写转换C#人名币大写转换C#人名币大写转换

    在IT行业中,尤其是在软件开发领域,经常会遇到将数字金额转换为中文大写的场景,这在处理财务、会计或银行系统时尤为重要。对于C#开发者来说,实现人民币大写转换是一项基本技能。本文将深入探讨如何在C#中进行...

    EXCEL集成工具箱V6.0

    【数字转英文】 将选中区域(默认)或已使用区域存储格的金额数字转换成英文格式显示的表达字符串,为三资企业制作客户外汇付款通知书的理想工具。 【文本转EXCEL】 将文本文件按指定的分隔符号分隔一次性导入到...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【数字转英文】 将选中区域(默认)或已使用区域存储格的金额数字转换成英文格式显示的表达字符串,为三资企业制作客户外汇付款通知书的理想工具。 【文本转EXCEL】 将文本文件按指定的分隔符号分隔一次性导入到...

    textbox加入千分位

    - **解析数字**:使用`decimal.Parse`方法将不含逗号的字符串转换为数值类型。 - **格式化输出**:使用`ToString("#,0")`将数字格式化为带有千分位分隔符的字符串。这里`#`表示数字位,`,`是千分位分隔符,`0`表示...

    SELAEFiles:转换txt和AD243的JSON-开源

    标题提到的“SELAEFiles”是一个针对这一需求开发的开源工具,它能够将TXT和AD243格式的投注文件转换为SELAE定义的JSON文件格式,从而适应数字媒体(ASD)上的投注操作。 首先,让我们深入了解AD243文件格式。AD243...

    生产企业出口退税申报系统应用电子口岸出口报关单电子数据操作.pptx

    由于电子口岸下载的报关单数据可能包含CIF、C&F、C&I等成交方式,需要将其转换为FOB价格进行申报,因此“是否折算非FOB价”应被勾选。此外,还需要设置“运费折算进制”、“保费折算进制”和“杂费折算进制”,以...

    易语言程序免安装版下载

    4) 修改静态编译后“读配置项”命令在第三个参数“配置项名称”为空文本时导致程序崩溃的BUG 5) 修改高级选择夹中的组件在窗口载入后强制得到焦点的BUG 6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和...

    CurrencyConverter:这是一个货币转换器网站,可以将所有货币从一个国家转换到另一个国家

    货币转换器是一种在线工具,它允许用户将一种货币的金额转换为另一种货币。在国际贸易、旅行、投资等领域,这样的工具非常实用。本文将深入探讨使用JavaScript构建货币转换器网站的相关技术知识。 ### 1. ...

    EXCEL常用模板-财务模板-采购类-年货采购清单表.zip

    - **PDF导出**:将采购清单转换为PDF格式,方便共享且保持原始格式不变。 综上所述,一个完善的年货采购清单表能够帮助我们有效地组织采购活动,确保采购过程的透明度和效率。在实际操作中,应根据具体需求调整和...

    单片机 计价器 单片机实例

    车轮每转一圈(假设周长为1米),霍尔开关输出一次信号,单片机计数1000次即代表行驶了1公里,进而更新金额。 2. **数据显示单元设计**: - 为了满足显示单价、路程和总金额的需求,采用LCD液晶段码显示。但由于...

    js实现仿购物车加减效果

    通过JavaScript将显示商品数量的`&lt;strong&gt;`标签内的内容从字符串转换成数字,以便进行数值运算。同样,将商品单价从`&lt;em&gt;`标签内的字符串转换成浮点数进行计算。 #### 8. 动态更新界面 当用户点击加减按钮时,`...

    餐饮类小程序开发的解决方案.pdf

    餐饮小程序的兴起,源于2017年微信小程序的发布,它为餐饮业提供了一个全新的数字化转型路径。通过小程序,餐饮商家能够更便捷地与消费者互动,提供在线点餐、优惠券发放、会员管理等功能,从而吸引和保留客户。 ...

    里诺进销存管理系统2017去暗桩破解版

    支持从Excel导入货品和来往单位资料,减小您的期初工作量,各种数据也可以方便转换为Excel数据格式。 6.软件提供了完备的帐务系统,可以随时查询或打印月记帐、日记帐。多方位为企业经营决策提供服务; 7.货品和来往...

    最新小产权房屋购买合同书实用小产权房房屋租赁合同书WORD最新版.docx

    - 月租金的数额和支付周期在合同中明确规定,例如每____月支付一次,并且指定了租金的金额(人民币大写)以及未转换为大写的数字表示(小写)。 - 预先设定的支付期限有助于避免因延迟支付租金而引发的纠纷。 4. ...

    基于PHP的特云宝一元云购夺宝系统源码 v5.8 B版.zip

    3. **源码**:源码是程序员编写的原始程序,可被编译器或解释器转化为机器可执行的代码。对于开发者而言,源码提供了学习和修改软件功能的机会。 4. **版本控制**:v5.8 B版表明系统经过了多次迭代和改进,B版可能...

    convertmymoney

    在这个项目中,我们可以看到开发者可能创建了一个用户友好的应用,允许用户输入金额并选择源货币和目标货币,然后应用会实时更新汇率并显示转换后的结果。下面我们将深入探讨这个项目涉及到的JavaScript知识点。 1....

    抵押协议书.zip

    7. **智能合约**:在区块链技术的应用背景下,抵押协议书可以被转化为智能合约,实现自动执行和监控。智能合约能在满足预设条件时自动执行相关操作,例如当借款人逾期未还款时,自动启动抵押物处置流程。 8. **法律...

    Android 个人记账程序源码

    4. **货币格式化**:记账应用通常涉及金额的展示,需要对数字进行格式化,使其符合货币的显示规则,如添加逗号分隔符、货币符号等。 5. **图表统计**:为了直观展示收支状况,应用可能包含饼图或柱状图。这需要用到...

Global site tag (gtag.js) - Google Analytics