当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

<b>Java将数字字符串转换成中文情势?</b>[Java编程]

赞助商链接



  本文“<b>Java将数字字符串转换成中文情势?</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  public class MainClass3 {

  /**

  * @param args

  * @deprecated 完成小数的中文转换

  * @deprecated 核心工式:unit[(len - i - 1) % 8]

  * @deprecated

  * 1-0-1=0%8 亿

  * 2-0-1=1%8 拾

  * 3-0-1=2%8 佰

  * 4-0-1=3%8 仟

  * 5-0-1=4%8 万

  * 6-0-1=5%8 拾

  * 7-0-1=6%8 佰

  * 8-0-1=7%8 仟

  * 9-0-1=9%8 亿

  */

  public static void main(String[] args) {

  String temp0 = "987.65";// "009081";

  String temp = temp0;

  if (temp0.startsWith("0")) {

  temp = String.valueOf(Integer.parseInt(temp0));

  // System.out.println(Integer.parseInt(temp));

  }

  // int itemp = Integer.valueOf(temp);

  // System.out.println("String --> Integer"+itemp);

  StringBuffer retStrBuf = new StringBuffer();// 用来拼接数字串

  int dot = 0; // 小数点位置

  int ivalue = 0;// 保存每一个位上的数

  int len = 0;// 保存数字的长度

  for (int i = 0; i < temp.length(); i++) {

  System.out.print(temp.substring(i, i + 1) + " ");

  }

  System.out.println();

  String num[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };

  String unit[] = { "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟" };

  len = temp.length();

  if (temp == null || "".equals(temp) || temp.length() <= 0) {

  System.out.println("Input is null");

  } else {

  //(==-1)阐明

  dot = temp.indexOf(".");

  if(dot == -1){

  int i = 0;

  // len-1这个注意,i在前面初始化为0

  for (i = 0; i < len - 1; i++) {

  ivalue = Integer.parseInt(temp.substring(i, i + 1));

  retStrBuf.append(num[ivalue] + (unit[(len - i - 1) % 8]));

  // System.out.print(num[ivalue]+(unit[(len - i - 1) % 8]));

  }

  // 单独取最后一位数

  ivalue = Integer.parseInt(String.valueOf(temp.substring(i, i + 1)));

  // 最后一位为零,将不作处理

  if (ivalue != 0) {

  retStrBuf.append(num[ivalue]);

  }

  retStrBuf.append("元整");

  System.out.println(retStrBuf.toString());

  // System.out.println(","+num[ivalue]);

  }else{

  String tmpStr1 = temp.substring(0, dot);

  len = tmpStr1.length();

  int i = 0;

  // len-1这个注意,i在前面初始化为0

  for (i = 0; i < len - 1; i++) {

  ivalue = Integer.parseInt(temp.substring(i, i + 1));

  retStrBuf.append(num[ivalue] + (unit[(len - i - 1) % 8]));

  // System.out.print(num[ivalue]+(unit[(len - i - 1) % 8]));

  }

  // 单独取最后一位数

  ivalue = Integer.parseInt(String.valueOf(temp.substring(i, i + 1)));

  // 最后一位为零,将不作处理

  if (ivalue != 0) {

  retStrBuf.append(num[ivalue]);

  }

  //跟整数处理不一样的部份

  if (dot < temp.length() - 1) {

  retStrBuf.append("点");

  //从小数点后一位开始取

  String tmpStr2 = temp.substring(dot + 1);

  len = tmpStr2.length();

  //这里不需求len-1

  for (i = 0; i < len; i++) {

  ivalue = Integer.parseInt(tmpStr2.substring(i, i + 1));

  retStrBuf.append(num[ivalue]);

  }

  }

  retStrBuf.append("元整");

  System.out.println(retStrBuf.toString());

  }

  }

  }

  }


  以上是“<b>Java将数字字符串转换成中文情势?</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .