如何将float转换为int:android

时间:2013-12-04 11:47:19

标签: java

float NormValue = value*80 ;
float color = Color.argb(0xFF, NormValue, 0, 0);

这是我的代码的一部分。 此变量(NormValue)将结果存储在float中。但在第二行我不能使用这个变量,因为它必须转换为int。我该怎么做。有什么帮助吗?

7 个答案:

答案 0 :(得分:13)

试试这个..

无需强制转发 floatint只需使用Math.round()

float NormValue = value*80 ;
float color = Color.argb(0xFF, Math.round(NormValue), 0, 0);

答案 1 :(得分:5)

取决于NormValue

的比例

通常,一个简单的类型转换会:

(int)NormValue

但是您可能希望首先将NormValue缩放到0..255的范围,因为Color.argb()只使用传入的int值的最低8位。

答案 2 :(得分:2)

试试这个。

将其转换为字符串

String.valueOf(value);

然后将其转换为整数

Integer.valueOf(string);

您也可以尝试将其强制转换为int

Int i =  (int) your_float_value

答案 3 :(得分:1)

试试这个:

float NormValue = value*80 ;
int temp = (int)NormValue;
float color = Color.argb(0xFF, temp, 0, 0);

答案 4 :(得分:1)

Android是java,对吗? 你可以简单地将它转换为int。

float f=0.2;
int i;

i = (int)f;

答案 5 :(得分:0)

你真的需要首先使用浮动? 你有两个选择:
1.使用cast int normInt =(int)NormValue;但在这里你必须准备好你将失去小数点。例如:8.61将是8
2.第一种绕NormValue的方法然后使用铸造。

答案 6 :(得分:-3)

您可以在这篇文章中搜索,您的解决方案是: Java: (int)(float)Float.valueOf(s) or Float.valueOf(s).toInt()

如果您想了解更多信息,可以问我:)