トークバックに問題があります。私の文字列には、次の番号があります。
1,827
これはオランダの数字で、 1 ユーロ 82.7 セントを意味します。
しかし、トークバックは言っています: 1827 ユーロ.
したがって、この問題は、小数点以下が 2 桁を超える数値がある場合にのみ発生します。この問題を解決するにはどうすればよいですか?
- -編集 - -
このページを読んでいるとき: https://english.stackexchange.com/questions/62397/reading-out-decimal-numbers-in-english
1,827という数字を次のように発音する必要があるようです。
1.8 2 7代わりに、それが数字の場合に行動します。これを行う方法?
- -編集 - -
私は以下を含めました:
StringTokenizer stringTokenizer = new StringTokenizer(value, ".");
String currencyBeforeComma = null;
String currencyAfterComma = null;
while (stringTokenizer.hasMoreTokens()) {
currencyBeforeComma = stringTokenizer.nextToken();
currencyAfterComma = stringTokenizer.nextToken();
}
result = currencyBeforeComma + " point " + currencyAfterComma;
だから今、その発音: 1 ポイント 8 アンダー 27 . だから、これは今でも私が欲しいものです。
- -編集 - -
String value = 1,827;
String result = "";
for (Character chars : value.toCharArray()) {
result = result + chars + " ";
}
String replace = result.replace(getResources().getString(R.string.accessibility_decimal_separator), getResources().getString(R.string.accessibility_decimal_separator_text));
return replace;
これが私がしたことです。値文字列のすべての char と , または . コンマまたはポイントテキストに置き換えました。
これは今のところ機能しますが、クリーンなソリューションではありません。他の誰かがより良い解決策を持っている場合は、共有してください