java实现阿拉伯数字转汉字数字

 更新时间:2019年04月22日 11:33:07   作者:Sharker_  
这篇文章主要为大家详细介绍了java实现阿拉伯数字转换为汉字数字源代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现阿拉伯数字转汉字数字的具体代码,供大家参考,具体内容如下

package bin;

/**
 * @author Elsa
 * @param args
 * @param 2013-1-21
 */
public class DoubleTest {
  static String[] units = { "", "十", "百", "千", "万", "十万", "百万", "千万", "亿",
      "十亿", "百亿", "千亿", "万亿" };
  static char[] numArray = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' };

  /**
   * 测试
   * @param args
   */
  public static void main(String[] args) {
    int num = 234234324;
    String numStr = foematInteger(num);
    System.out.println("num= " + num + ", convert result: " + numStr);
    double decimal = 12312;
    System.out
        .println("============================================================");
    String decStr = formatDecimal(decimal);
    System.out.println("decimal= " + decimal + ", decStr: " + decStr);
  }

  private static String foematInteger(int num) {
    char[] val = String.valueOf(num).toCharArray();
    int len = val.length;
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < len; i++) {
      String m = val[i] + "";
      int n = Integer.valueOf(m);
      boolean isZero = n == 0;
      String unit = units[(len - 1) - i];
      if (isZero) {
        if ('0' == val[i - 1]) {
          continue;
        } else {
          sb.append(numArray[n]);
        }
      } else {
        sb.append(numArray[n]);
        sb.append(unit);
      }
    }
    return sb.toString();
  }

  /**
   * 对于double类型的的装换
   * 
   * @param decimal
   * @return
   */
  private static String formatDecimal(double decimal) {
    String decimals = String.valueOf(decimal);
    int decIndex = decimals.indexOf(".");
    int integ = Integer.valueOf(decimals.substring(0, decIndex));
    int dec = Integer.valueOf(decimals.substring(decIndex + 1));
    String result = foematInteger(integ) + "." + formatFractionalPart(dec);
    return result;
  }

  /**
   * 对整数类型的转换
   * 
   * @param decimal
   * @return
   */
  private static String formatFractionalPart(int decimal) {
    char[] val = String.valueOf(decimal).toCharArray();
    int len = val.length;
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < len; i++) {
      int n = Integer.valueOf(val[i] + "");
      sb.append(numArray[n]);
    }
    return sb.toString();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java正则表达式校验日期格式实例代码

    java正则表达式校验日期格式实例代码

    如果使用得当,正则表达式是匹配各种模式的强大工具,下面这篇文章主要给大家介绍了关于java正则表达式校验日期格式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Java并发编程之Java内存模型

    Java并发编程之Java内存模型

    这篇文章主要为大家介绍了Java内存模型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助
    2021-11-11
  • 详解Java编译优化之循环展开和粗化锁

    详解Java编译优化之循环展开和粗化锁

    之前在讲JIT的时候,有提到在编译过程中的两种优化循环展开和粗化锁,今天从Assembly的角度来验证一下这两种编译优化方法,快来看看吧。
    2021-06-06
  • Spring Boot项目Jar包加密实战教程

    Spring Boot项目Jar包加密实战教程

    本文详细介绍了如何在Spring Boot项目中实现Jar包加密,我们首先了解了Jar包加密的基本概念和作用,然后学习了如何使用Spring Boot的Jar工具和第三方库来实现Jar包的加密和解密,感兴趣的朋友一起看看吧
    2024-02-02
  • 使用HttpClient实现文件的上传下载方法

    使用HttpClient实现文件的上传下载方法

    下面小编就为大家带来一篇使用HttpClient实现文件的上传下载方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • SpringBoot配置Access-Control-Allow-Origin教程

    SpringBoot配置Access-Control-Allow-Origin教程

    文章介绍了三种配置Spring Boot跨域访问的方法:1. 使用过滤器;2. 在WebConfig配置文件中设置;3. 通过注解配置,作者分享了个人经验,并鼓励读者支持脚本之家
    2025-03-03
  • Java Springboot整合支付宝接口的教程详解

    Java Springboot整合支付宝接口的教程详解

    这篇文章主要为大家详细介绍了Java Springboot实现整合支付宝接口的教程,文中的示例代码讲解详细,具有一定的参考价值,需要的可以参考一下
    2023-02-02
  • 深入Java分布式计算的使用分析

    深入Java分布式计算的使用分析

    本篇文章对Java分布式计算的使用进行了详细的介绍。需要的朋友参考下
    2013-05-05
  • Java实现分页查询功能

    Java实现分页查询功能

    这篇文章主要为大家详细介绍了Java实现分页查询功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • JAVA反射机制实例教程

    JAVA反射机制实例教程

    这篇文章主要介绍了JAVA反射机制,包括了Java反射机制的各种应用技巧,非常具有实用价值,需要的朋友可以参考下
    2014-09-09

最新评论