我遇到了Talkback的问题。在我的字符串中,我有以下号码。
1,827
它是一个荷兰号码,所以这个号码意味着: 1欧元和82,7美分。
但是,Talkback说: 18和27欧元。
所以只有当我的数字超过2位小时才会出现此问题。如何解决这个问题?
--- --- EDIT
当我阅读此页面时:https://english.stackexchange.com/questions/62397/reading-out-decimal-numbers-in-english
似乎我必须将数字 1,827 发音如下:
一点八二七而不是如果它是一个数字就行动。这该怎么做?
--- --- EDIT
我包括以下内容:
StringTokenizer stringTokenizer = new StringTokenizer(value, ".");
String currencyBeforeComma = null;
String currencyAfterComma = null;
while (stringTokenizer.hasMoreTokens()) {
currencyBeforeComma = stringTokenizer.nextToken();
currencyAfterComma = stringTokenizer.nextToken();
}
result = currencyBeforeComma + " point " + currencyAfterComma;
现在它的发音是:八分之二十二分之一。所以这仍然是我想要的。
--- --- EDIT
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;
这就是我所做的。我为值字符串和for中的每个char创建了一个空格。我用逗号或点文本替换它。
现在可行,但它不是一个干净的解决方案。如果其他人有更好的解决方案,请分享
答案 0 :(得分:0)
尝试此操作并根据您的要求修改
TextView currencylbl = (TextView) findViewById(R.id.currencylbl);
boolean countryCurrency = true;
String currency = "1,827";
if(countryCurrency==true && currency.contains(",")){
StringTokenizer stringTokenizer = new StringTokenizer(currency, ",");
String currencyBeforeComma = null;
String currencyAfterComma = null;
while (stringTokenizer.hasMoreTokens()) {
currencyBeforeComma = stringTokenizer.nextToken();
currencyAfterComma = stringTokenizer.nextToken();
currencylbl.setText(currency);
}
Double double1 = Double.parseDouble(currencyAfterComma);
double1 = Double.parseDouble(currencyBeforeComma)+double1/1000;
currencylbl.setContentDescription(double1+"");
}
countryCurrency是指特定的国家/地区货币布尔值。 也可以根据您的要求进行修改。
Double double1 = Double.parseDouble(currencyAfterComma);
double1 = Double.parseDouble(currencyBeforeComma)+double1/1000;
currencylbl.setContentDescription(double1+"");
xml是
<TextView
android:id="@+id/currencylbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
/>