私は、コードのカップルに従うことによって30,00のようなRessiun言語の数字を英語に変換するために使用しますが、それはNumberFormatException
を示します。NumberFormat例外何らかの他の言語をアンドロイドで英語に変換する場合
答えて
これを試すと、コンマとドットを含む数字の解析に役立ちます。
DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.US);
symbols.setDecimalSeparator('.');
DecimalFormat twoDecimalForm = new DecimalFormat("#.##", symbols);//Two point
String finalVal = twoDecimalForm.format(DoubleValue);
私はロシア語で入力しています... "30,0000"のように...私はネイティブ英語の言語に変換しました... – user3557127
私の問題は大邸宅のおかげで... U私はこの問題を解決するのを助けることができます... – user3557127
これは私にjava.lang.IllegalArgumentExceptionを与える.. – user3557127
NumberFormat gereralformat = NumberFormat.getInstance(new Locale("en","us"));
temp_value = gereralformat.parse(et_input.getText().toString()).doubleValue();
これは、小数点記号として使用,
(カンマ)の可能性が最も高いです。英数字は.
(ドット)です。
(int型、float型、ダブル...)
はおそらくet_input.getText().toString()
は、予期しない文字であるように,
gereralformat.parse
に電話する前に、あなたの英語の番号が正しいことを確認してください。あなたは英語米国スタイル番号としてそれを解析したいと言っている、まあ
String newString = string.replace(",", ".");
:
あなたはこれをやってこの問題を解決することができます。 30,00は有効な英語の米国スタイルの番号ではありません。 – ianhanniballake
私は知っている...これは米国のスタイルではありません...しかし、それを米国のスタイルに変換したい... – user3557127
私は適切な方法を知りません....だから。この問題で助けてください...ありがとう – user3557127