我正在尝试此代码 我正在从一个教程中学习,我发现在线编码车速表android
String strCurrentSpeed = fmt.toString();
strCurrentSpeed = strCurrentSpeed.replace(' ', '0');
String strUnits = "Km/h";
if (this.useMetricUnits())
{
strUnits = "m/s";
}
Typeface mytxt = Typeface.createFromAsset(getAssets(), "DS-DIGIB.TTF");
TextView txtCurrentSpeed = (TextView) this.findViewById(R.id.txtCurrentSpeed);
txtCurrentSpeed.setText(strCurrentSpeed + " " + strUnits);
txtCurrentSpeed.setTypeface(mytxt);
int speed = Integer.parseInt(strCurrentSpeed + " " );
if(speed <= 70){
txtCurrentSpeed.setTextColor(getResources().getColor(R.color.backcolor_overspeed));
}
我正在获取RunTImeException java.lang.NumberFormatException:Int:000.0无效
我还是新编码。 谢谢你的帮助
答案 0 :(得分:1)
RunTimeException java.lang.NumberFormatException :invalid Int: 000.0
由以下原因引起:
int speed = Integer.parseInt(strCurrentSpeed + " " );
或更具体地说:
Integer.parseInt(strCurrentSpeed + " " )
这意味着Java不同意你,000.0是一个整数。由于它包含一个点,因此它不再是整数(整数),而是一个浮点数。使用:
Float.parseFloat(strCurrentSpeed)
代替。
答案 1 :(得分:0)
这一行是你的问题
int speed = Integer.parseInt(strCurrentSpeed + " " );
不应该有任何空格,Integer.parseInt方法将String转换为数字,前提是此字符串没有“非数字”字符,并且仅限于一个字符。 (小数点)
因为您的额外字符是空格,所以您看不到显示此错误...