我的号码是2.75。我想将这个数字分成另外两个浮点数。以下是我要搜索的示例:
value = 2.75
value2 = 2.0
value3 = 0.75
我在算法中需要它们,所以我该如何实现呢?我找到了split()
但它返回了字符串。我至少需要花车或整数。
答案 0 :(得分:6)
你可以施放
float value = 2.75f;
int valueTruncated = (int) value;
float value2 = valueTruncated;
float value3 = value - value2;
答案 1 :(得分:5)
你也可以尝试这个
double value = 2.75;
double fraction=value%1;//Give you 0.75 as remainder
int integer=(int)value;//give you 2 fraction part will be removed
<强> 注:的强>
由于使用fraction
,结果可能在double
中。您最好使用
float fraction=(float) (value%1);
如果fractional
部分很大。
答案 2 :(得分:1)
另一种选择是使用split():
double value = 2.75;
/* This won't work */// String[] strValues = String.valueOf(value).split(".");
String[] strValues = String.valueOf(value).split("\\.");
double val1 = Double.parseDouble(strValues[0]); // 2.0
double val2 = Double.parseDouble(strValues[1]); // 0.75
答案 3 :(得分:1)
如果输入为59.38 结果是 n1 = 59 n2 = 38 这就是我提出的:
int n1, n2 = 0;
Scanner scan = new Scanner(System.in);
double input = scan.nextDouble();
n1 = (int) input;
n2 = (int) Math.round((input % 1) * 100);