在Java Android中拆分float

时间:2014-07-09 16:36:55

标签: java android

我的号码是2.75。我想将这个数字分成另外两个浮点数。以下是我要搜索的示例:

value = 2.75 
value2 = 2.0
value3 = 0.75

我在算法中需要它们,所以我该如何实现呢?我找到了split()但它返回了字符串。我至少需要花车或整数。

4 个答案:

答案 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);