62,614
社区成员
发帖
与我相关
我的任务
分享
import javax.swing.JOptionPane;
public class One {
public static void main(String[] args) {
String str = JOptionPane.showInputDialog("请输入一个浮点数");
Double i = Double.parseDouble(str);
double j = Math.floor(i);
double k = i - j;
System.out.println(i + "的整数部分是:" + j);
System.out.println(i + "的小数部分是:" + k);
}
}
import java.math.BigDecimal;
import javax.swing.JOptionPane;
public class One {
public static void main(String[] args) {
String str = JOptionPane.showInputDialog("请输入一个浮点数");
Double i = Double.parseDouble(str);
double j = Math.floor(i);
BigDecimal b1=new BigDecimal(i+"");
BigDecimal b2=new BigDecimal(j+"");
BigDecimal b3=b1.subtract(b2);
double k = i - j;
System.out.println(i + "的整数部分是:" + b2.doubleValue());
System.out.println(i + "的小数部分是:" + b3.doubleValue());
}
}
/**
* 提供精确的小数位四舍五入处理。
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
public static double round(double v,int scale){
if(scale < 0){
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static void main(String[] args) {
String str = JOptionPane.showInputDialog("请输入一个浮点数");
Double i = Double.parseDouble(str);
double j = Math.floor(i);
double k = i - j;
System.out.println(i + "的整数部分是:" + j);
System.out.println(i + "的小数部分是:" + round(k,1));
}