我在使用 Talkback 时遇到问题。在我的字符串中,我有以下数字。
1,827
这是一个荷兰数字,所以这个数字意味着: 1 欧元和 82.7 美分。
但是Talkback说:1827 欧元。
所以这个问题只有在我有一个超过 2 位小数的数字时才会出现。如何解决这个问题?
- -编辑 - -
当我阅读此页面时:https ://english.stackexchange.com/questions/62397/reading-out-decimal-numbers-in-english
看来我必须将数字1,827发音如下:
如果它是一个数字,一点八二七代替行动。这个怎么做?
- -编辑 - -
我包括以下内容:
StringTokenizer stringTokenizer = new StringTokenizer(value, ".");
String currencyBeforeComma = null;
String currencyAfterComma = null;
while (stringTokenizer.hasMoreTokens()) {
currencyBeforeComma = stringTokenizer.nextToken();
currencyAfterComma = stringTokenizer.nextToken();
}
result = currencyBeforeComma + " point " + currencyAfterComma;
所以现在它的发音:一点八分之二七。所以这仍然是我现在想要的。
- -编辑 - -
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;
这就是我所做的。我为值字符串中的每个字符和 , 或 . 我用逗号或点文本替换它。
这暂时有效,但它不是一个干净的解决方案。如果其他人有更好的解决方案,请分享