java 如何从给定变量中分别存储左手数据和右手数据

nhn9ugyo  于 2023-01-11  发布在  Java
关注(0)|答案(1)|浏览(61)

只在java中需要,也不使用字符串或任何特定的对象,(只使用数学)
问题是

double a = 13.564;
//now i want  

int b = 13;
int c = 564;
goqiplq2

goqiplq21#

使用字符串会更容易,因为我们不需要知道有多少小数

double a = 13.564;

String[] parts = Double.toString(a).split("\\.");

int b = Integer.parseInt(parts[0]);
int c = Integer.parseInt(parts[1]);
System.out.println(b + "/" + c);

如果只是数学,你需要小心,一种方法是把数字相乘,这样就没有小数部分了,检索小数部分是什么

double a = 13.564;

int b = (int) a;

double power = Math.pow(10, BigDecimal.valueOf(a).scale());
int c = (int) (a * power - b * power);
System.out.println(b + "/" + c);

相关问题