2016-09-10 4 views
1

トグルボタンのクリック時に高さをセンチメートルからフィートインチに変換する方法を書いていますが、センチメートルで高さを入力した後にトグルボタンをクリックしようとするとエラーが発生します java .lang.NumberFormatException:無効INT:私は、私は型変換でいくつかのミスをやっていると思います高さをセンチメートルからフィートに変換する際にエラーが発生する

private void convertTofeetInches(EditText height_cm){ 
    String str = height_cm.getText().toString(); 
    int feet = (int) Math.floor(Integer.parseInt(str)/30.48); 
    int inches = (int)Math.round((Double.parseDouble(str)/2.54) - ((int)feet * 12)); 
    Log.d("feet",String.valueOf(feet)); 
    Log.d("inches",String.valueOf(inches)); 
    enter_height.setText(""+feet + "'" +inches + "\""); 


} 

:「」 は、ここに私のコードです。誰でもそれを指摘できますか?

+2

)/30.48をダブル代わりに – Tasos

+0

int型@Tasosの試しが、私はいない小数 –

+0

付き整数値のみを表示したいが、これは小数(Math.floor(Integer.parseInt(STRを作成します))そしてあなたはここで適切な使用のためにint - checkを入れようとしています - http://stackoverflow.com/questions/2137396/convert-decimal-feet-to-feet-and-inches – Tasos

答えて

2

これを試してみて、

private void convertTofeetInches(String str) throws NumberFormatException{ 
    Double value = new Double(str); 
    int feet = (int) Math.floor(value/30.48); 
    int inches = (int) Math.round((value/2.54) - ((int) feet * 12)); 
    String ouput = feet + "' " + inches + "\""; 
    enter_height.setText(ouput); 
} 
関連する問題