-1

倍数を整数部分と小数部分に分けるコードを書きましたが、10 桁までの数 (小数部分 + 分数部分) に対してのみ正しい答えが得られます。

double num, temp;          
int j=1;          
int whole,frac;          
num= 122.007094;           
temp= num;          
whole=(int)num;         
// FOR THE FRACTION PART     
do{
  j=j*10;      
 }while((temp*j)%10!=0);       
j=j/10;      
frac= (int)(num*j)-(whole*j);       
System.out.println("Double number= "+num);      
System.out.println("Whole part= "+whole+" fraction part= "+frac);
4

2 に答える 2

1

おそらくjava.lang.Math.floor(double)、整数部分に使用して、それを元の数値から減算して小数部分を取得できます。(それが負の数に対して望むことを行わない場合Math.ceiling(double)は、数値が負のときに整数部分に使用してください。)

于 2013-09-01T20:35:27.640 に答える