2017-11-05 7 views
0

私はEditTextに10進数を持ち、小数部分を常に表示するように変更しようとしていますが、ユーザーは小数部分を変更できません。編集可能にする。小数部は常にデフォルト値です。EditTextから値をプログラムで変更する

例:すべての数字Iを削除すると、私はEditTextで2.025,50を持っています。ll have 0,50. If I write 10 , Iは1050を持っています。

誰でも私を助けることができますか?

+0

を言うときuはあなたがしようとしているもののコードを投稿するのであれば、上記の例ではそれは非常に有用であろう。 – DvixExtract

+0

これは、編集テキストで常に使用できるデフォルト値が.50になることを意味しますか? –

+4

[二重整数部分と小数部分に分離する]の可能な複製(https://stackoverflow.com/questions/13044079/separating-double-into-integer-and-decimal-parts) – DvixExtract

答えて

0

私はこれに使うことができる関数を作成したので、あなたの数字を小数で入力するだけで、その数字の小数部分が得られます。 editText変更されたリスナーを使用してください。だから、あなたがタイプしている値をユーザーが渡すとき、この関数を呼び出して、関数getFractionalPartにnumberWithTheFractionを渡し、コードに示すようにuserinputを追加します。

private static double getFractionalPart(double num) {  
     if (num > 0) { 
      return num - Math.floor(num); 
     } else { 
      return ((num - Math.ceil(num)) * -1); 
} 
} 

あなたはEDITTEXT変更リスナーの例えばthis例を見て持つことができます。

あなたはtextView.setText(getFractionalPart(numberWithTheFraction)+userInput)

+0

分数部分を助けましたが、EditTextでこの部分を変更しないようにユーザーをブロックするにはどうすればよいですか? –

+0

あなたの質問にあいまいな言葉があるため、ユーザーをブロックするという意味をさらに説明できますか? – DvixExtract

関連する問題