float NormValue = value*80 ;
float color = Color.argb(0xFF, NormValue, 0, 0);
这是我的代码的一部分。 此变量(NormValue)将结果存储在float中。但在第二行我不能使用这个变量,因为它必须转换为int。我该怎么做。有什么帮助吗?
答案 0 :(得分:13)
试试这个..
无需强制转发 float
至int
只需使用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()
如果您想了解更多信息,可以问我:)