strings.xml
に1つの文字列内のパラメータを入れたいと考えています。このパラメータは2倍の値にする必要があります。だから私は%1$f
を使う。ここに - http://developer.android.com/reference/java/util/Formatter.html多くの例がありますが、私はいくつかのdouble/float
のパラメータを持っていて、2番目のものだけが.
の後に2桁しかないようにしたいのですが?私は%2$.2f
または%2.2$f
のような組み合わせを使用しようとしました。彼らの働きもありませんでした。 %.1f
も機能しません。 float/double
の値をstrings.xml
の中で "カスタマイズ"する方法は誰にも分かりますか?ありがとう。strings.xmlのドットの後に2桁の二重のパラメータがありますか?
答えて
それが私だったら、私は単純な値などのリソースの値を格納し、その後、それらは表示されている方法を制御するフォーマッタメソッドを使用すると思い、大体この
ようpublic String formatFigureTwoPlaces(float value) {
DecimalFormat myFormatter = new DecimalFormat("##0.00");
return myFormatter.format(value);
}
public String formatFigureOnePlace(float value) {
DecimalFormat myFormatter = new DecimalFormat("##0.0");
return myFormatter.format(value);
}
私は今、この応答があること私はあなたが小数をしたいとき、Androidは複数のパラメータの置換で吸う
と共通のスタイル%でこれをフォーマットする最善の解決策
a.bf:遅すぎる到着...しかし、私は他の人々を助けることができるように願っています発見した(そして、これらの種類のresourc ES)進文字列%などのパラメータのn $ sのを入れて、コード内でString.Formatの(...)
例と私の変換に適用されます。
をINCORRECT WAY:XMLファイルに
//:
<string name="resource1">You has a desviation of %1$s and that is a %2$.2f%% percentage.</string>
//そしてによる最後の行は、例外が発生しますので、アンドロイド代替資源システムにJavaファイル
String sresult = getString(R.string.resource1, svalue, spercentage); // <-- exception!
このソリューションは、技術的には正しいが間違っていました。
CORRECT WAY/SOLUTION:
単純に文字列に二番目のパラメータに変換します。
コードで<string name="resource1">You has a desviation of %1$s and that is a %2$s percentage.</string>
そして今:ちょうどここに@デビッドAiramの答えに追加する
...
// This is the auxiliar line added to solve the problem
String spercentage = String.format("%.2f%%",percentage);
// This is the common code where we use the last variable.
String sresult = getString(R.string.resource1, svalue, spercentage);
あなたの「間違った」例では 'spercentage'のタイプは何ですか?私は@Nik Reimanが指摘しているように、 'String'であると推測しています。つまり、'%2 $ .2f'で)浮動小数点として渡す際に例外が発生するのは不思議ではありません。この「答え」は不完全で誤解を招く。 – BadCash
私はまた、文字列リソースから動作するようにフォーマットされたfloatを取得することはできません。そして、私はfloatを渡しています。文字列リソースで "%1 $ 0.6f"を使用していますが、例外が発生しました。java.util.MissingFormatWidthException:%01 $ .6fなんとか乱暴になっています。この回答は正しいです。 – Aaron
。彼が与えている「間違った」解決策は実際には正しいが、ちょっとした調整が必要だ。XMLファイルが含まれている必要があります
<string name="resource1">Hello string: %1$s, and hello float: %2$.2f.</string>
を今すぐJavaコードで:
String svalue = "test";
float sfloat= 3.1415926;
String sresult = getString(R.string.resource1, svalue, sfloat);
@デビッドAiram報告が必要です%f
付き書式指定子へString
ジャムしようとしているからである例外を浮動小数点型。 float
を使用し、そのような例外はありません。
また、Float.valueOf()
を使用すると、入力データが元々文字列だった場合(たとえば、EditText
など)に文字列をfloatに変換できます。ただし、は常に操作を試行/キャッチし、NumberFormatException
ケースを処理する必要があります。この例外はチェックされていないためです。私にとって
ありがとう!私の時間を節約しました –
% .1f仕事はあなたが後にのみ1桁「」
- 1. 二重のドットの後ろにある文字を取得
- 2. JS Regexの最後の2桁が最初の2桁に一致します
- 3. 2桁の年を4桁の年に変換するよりエレガントな方法がありますか?
- 4. Cで二重に桁区切り文字を追加する#
- 5. JavaScriptのonkeyPressイベントの後に2桁の数字が入ります。
- 6. graphvizのドットが付いた1つのノードに2色ありますか?
- 7. ネームサーバの最後に1ドットしか必要ありません。
- 8. 二重小数点以下6桁
- 9. JRuby&MRI用のgem installを二重にする必要がありますか?
- 10. Webrequestの後にパラメータにすべてのプロパティがあります
- 11. 二重にキャストせずに2つの整数を割り算
- 12. 二重の値をiPhoneの小数点以下2桁までフォーマットする方法
- 13. パラメータの前に自分のパスにドットがあるのはなぜですか?
- 14. ファイル名に複数のドットがありますか?
- 15. プロット値 - 小数点以下1桁、ドットの代わりにコンマ
- 16. 二桁再帰の説明
- 17. データURI形式には重要な部分がありますか?赤いドットのための
- 18. 最初の桁を二重にしてintに格納するC++
- 19. int(C#)の最後の桁を削除する方法はありますか?
- 20. Angular2テンプレートの問題は二重ではありません(!! +)
- 21. Delphiには二重引用符文字列関数がありますか?
- 22. なぜこれらの2つのパラメータがjQueryソースにありますか?
- 23. Rubyのクラス名の前にある二重コロンですか?
- 24. CSSのリセット後に二行目が始まります。
- 25. 2つのBigIntegerの商を二重にする
- 26. 1桁と2桁のマスク
- 27. Regex:二重引用符がゼロまたは奇数の後に一致する '、'
- 28. Cでの二重リンクリストの実装のためのPopメソッドフリーで使う必要がありますか?
- 29. Javaの再帰と整数の二桁
- 30. vb.netの二重ハッシュテーブルまたは二重ハッシュハッシュテーブル
おかげで、男を表示したい場合、私は...のようにうまく機能.2f' '%1 $を監督しなければなりません。 – lomza
ここのコメントは本当の答えです!あなたはこの質問に対する別の答えとしてそれを置くべきです。私はほとんどそれを見ていない。 – accordionfolder
コメントのIomzaによる回答は実際の解決策です – Kachi