android中的浮点值操作

android中的浮点值操作,android,Android,我想把浮点值和小数点分开 for ex: Float f = 3.5 比我想要的要多 int value1 = 3 int value2 = 5 and if f = 4.0 than, int value1 = 4 int value2 = 0 但是拜托,我不能用字符串操作。像分裂 谢谢如果您只需要值1中的1位数和值2中的10位数,可以执行以下操作: value1 = (int)f; value2 = ((int)(f * 10)) % 10; 你能做的就是 int integer_pa

我想把浮点值和小数点分开

for ex:
Float f = 3.5
比我想要的要多

int value1 = 3
int value2 = 5
and if f = 4.0 than,
int value1 = 4
int value2 = 0
但是拜托,我不能用字符串操作。像分裂


谢谢

如果您只需要值1中的1位数和值2中的10位数,可以执行以下操作:

value1 = (int)f;
value2 = ((int)(f * 10)) % 10;
你能做的就是

int integer_part=(int)f;
float float_part=(f-integer_part);
string string_f=f+"";
int float_part=f*(string_f.length()-1)*10

如果有多个小数位,例如3.54321,您希望值2是什么?@Matt,true,它将溢出。然后他可以做f=f-value1;首先,对于value2,这将起作用。第一行仍然不起作用,即将float>Integer.MAX_值强制转换为整数永远不会起作用。所以value1永远不会是准确的。在这种情况下,除了把它放到一个很长的时间里,就没有解决方案了。我认为这可能有点过分分析了这个问题。有两个不同类型的变量同名。除此之外,这是一个有趣的解决方案这将有与John的解决方案相同的问题,即如果f>Integer.MAX_值,则无法将其转换为有用的int。您可以使用long,顺便问一下,您在使用string时是否有任何问题如果您可以针对您的问题,那么我们可以提供一些解决方案。因此,请编辑并提供有关您的问题的更多详细信息