道招

java将数字按货币形式输出

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

java将数字按货币形式输出

将类似于1960以壹仟玖佰陆拾的形式输出 Num2Rmb.java的源代码如下: [code lang="java"] import java.util.Arrays; public class Num2Rmb { private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾",}; private String[] unitArr={"拾","佰","仟"}; /** *把一个浮点数分解成整数部分和小数部分字符串 *@param num需要被分解的浮点数 *@return分解出来的整数部分和小数部分。第一个数组元素是整数部分,第二个数组元素是小数部分 */ private String[] divide(double num) { //将一个浮点数强制类型转换为long,即得到它的整数部分 long zheng=(long)num; //浮点数减去整数部分,得到小数部分,小数部分乘以100后再取整得到两位小数 long xiao=Math.round((num-zheng)*100); //下面用了两个方法把整数转换为字符串 return new String[]{zheng+"",String.valueOf(xiao)}; } /** *把一个四位的数字字符串变成汉字字符串 *@param numStr 需要被转换的四位的数字字符串 *@return 四位的数字字符串被转换成的汉字字符串 */ private String toHanStr(String numStr) { String result=""; int numLen=numStr.length(); //依次遍历数字字符串的每一位数字 for (int i=0;i<numLen ;i++ ) { //把char型数字转换成的int数字,因为他们的ASCII码值恰好相差48 //因此把char型数字减去48得到int型数字,例如'4'被转换成4。 int num=numStr.charAt(i)-48; //如果不是最后一个数字,而且数字不是零,则需要添加单位(仟、佰、拾) if (i !=numLen-1&&num!=0) { result +=hanArr[num]+unitArr[numLen-2-i]; } //否则不要添加单位 else { result +=hanArr[num]; } } return result; } public static void main(String[] args) { Num2Rmb nr = new Num2Rmb(); //测试把一个浮点数分解成整数部分和小数部分 System.out.println(Arrays.toString(nr.divide(236711125.123))); //测试把一个四位的数字字符串变成汉字字符 System.out.println(nr.toHanStr("6019")); } } [/code]
更新时间:
上一篇:网站更新至wordpress3.3下一篇:java测试数组

相关文章

学习java,其他计划搁浅

目前想专心学习java,对于此次探亲假想完成的项目暂时搁浅,等技术学好了再实施更好。 阅读更多…

linux安装eclipse源码包

eclipse官方给linux系统用户的是类似eclipse-jee-indigo-SR1-linux-gtk-x86_64.tar.gz的包,假设我们把它解压到/home/你的用户名/Program 阅读更多…

最新Java仍存在0-day安全漏洞

一个新的java漏洞正在疯狂的被利用。如果你在使用java,可能你得启用或禁用java插件来保护你的电脑,或者你需要将电脑的安全级别调整到“高”并且尽量避免执行那些恶意的applets。 阅读更多…

关注道招网公众帐号
道招开发者二群