题目:
分别获取数字的整数部分、小数部分,如15.12,整数部分为15,小数部分为0.12
1 package my_package; 2 3 public class Divide { 4 public static void main(String[] args) { 5 double num = 12.345; 6 //也可以指定调用的方法为static 7 Divide d = new Divide(); 8 9 //第一种 10 String[] arr1 = d.divide_1(num); 11 System.out.print("整数部分:" + arr1[0] + " "); 12 System.out.println("小数部分:" + arr1[1]); 13 14 //第二种 15 String[] arr2 = d.divide_2(num); 16 System.out.print("整数部分:" + arr2[0] + " "); 17 System.out.println("小数部分:" + arr2[1]); 18 } 19 20 //将整数、小数拆分为数值,再放在一个字符串数组中返回。但由于计算机表示浮点数时有误差,所以小数部分并不精确 21 public String[] divide_1(double num){ 22 //获取整数部分 23 int zhengshu=(int)num; 24 //获取小数部分 25 double xiaoshu=num-zhengshu; 26 //放在字符串数组中返回 27 String[] arr={String.valueOf(zhengshu),String.valueOf(xiaoshu)}; 28 return arr; 29 } 30 31 // 转换为字符串,利用小数点分割,完全精确 32 public String[] divide_2(double num){ 33 String str=String.valueOf(num); 34 //小数点位置 35 int index=str.indexOf("."); 36 String zhengshu=str.substring(0,index); 37 String xiaoshu="0."+str.substring(index+1); 38 return new String[]{zhengshu,xiaoshu}; 39 } 40 }