初学Java 小白一枚。

用这个程序测试一下数组的学习情况,如有错误,还望大家及时指出微笑

转换范围是千亿到小数点2位

import java.util.Arrays;
public class Num
{

private String[] hanArr= {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] uintArr={"千","百","十","亿","千","百","十","万","千","百","十"};

/**
*把一个浮点数转换成字符串再把位数扩张到千亿,然后分成小数和整数
*@param num 需要被分解的数
*@param interger 分离出来的整数部分
*@param dec 分离出来的小数部分
*@return 分解出来的整数和小数部分 第一数组元素是整数部分 第二数组元素是小数部分
*/
private String[] divide(double num){
int interger=(int)num;
String interger1=String.valueOf(interger);
int lengthinterger1 =interger1.length();
for(int i=0;i<12-lengthinterger1;i++){
interger1="0"+interger1;
}
long dec=Math.round((num-interger)*100);
return new String[]{interger1+"",String.valueOf(dec)};
}
/**
*把整数小数部分变成字符串形式
*@param numStr 数字字符串
*@param num 数字大小
*@param i 数位
*@param s,flag 判断数字开头启始
*@return 数字字符串
*/
private String ChangetoStr(String[] NumStr1){
String NumStr=NumStr1[0]+NumStr1[1];
String result="";
int s=0;
int flag=0;
int NumLen=NumStr.length();
for(int i = 0;i<NumLen;i++){
int num=NumStr.charAt(i)-48;
if(num==0&&flag==0){
s++;
}
if(s!=i+1||s==-1){
if(i<NumLen-3&&num!=0){
result+=hanArr[num]+uintArr[i];
}else if(num==0&&(i==4||i==7)&&i!=NumLen-1){
result+=uintArr[i];
}else if(i==11&&num==0){
result+=".";
}else if(i==11&&num!=0){
result+=hanArr[num]+".";
}
else{
result+=hanArr[num];
}
flag=1;
s=-1;
}
}
return result;
}

public static void main(String[] args){
Num num=new Num();
System.out.println(Arrays.toString(num.divide(23567894.123458)));//测试divide
System.out.println(num.ChangetoStr(num.divide(23567894.123458)));
System.out.println(num.ChangetoStr(num.divide(12304560.1)));
}
<span style="white-space:pre"></span>//[000023567894, 12]<span style="white-space:pre"></span>//贰千叁百伍十陆万柒千捌百玖十肆.壹贰<span style="white-space:pre"></span>//壹千贰百叁十万肆千伍百陆十.壹零}


更多相关文章

  1. 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标
  2. 剑指Offer(六)旋转数组的最小数字(Java版 )
  3. 算法竞赛入门经典(分数化小数)

随机推荐

  1. Android中android:layout_width与 androi
  2. 关于android LinearLayout的比例布局
  3. Android 之 五大布局案例
  4. android xml布局文件属性说明
  5. Android Gesture 手势识别使用实例 - And
  6. Android日记抓取并保存
  7. Android Studio 布局属性笔记
  8. Android控件笔记——在界面中显示及输入
  9. Android 常用开发工具以及Mac常用软件
  10. 自定义动画(animation)时set中的各元素效