我想取一个整数并得到它的序数,即:
1 -> "First"
2 -> "Second"
3 -> "Third"
...
Run Code Online (Sandbox Code Playgroud) 我正在尝试做一个简单的日期格式,它确实很好用,它很容易,但问题是语言.我使用语言环境"es_ES"来获取"Miércoles"而不是"Wednesday",并对此进行排序,但我失败了.
这是我的代码:
SimpleDateFormat formato =
new SimpleDateFormat("EEEE d 'de' MMMM 'de' yyyy", new Locale("es_ES"));
String fecha = formato.format(new Date());
Run Code Online (Sandbox Code Playgroud)
fecha字符串的EXPECTED值为:
Miércoles4de Abril de 2012
但我仍然得到:
2012年4月4日星期三
我究竟做错了什么?
我试图将数字转换成英文单词,例如1234将成为:" 一千二百三十四 ".
我的战术是这样的:
将数字分成三个并将它们finlOutPut从右到左放在Array()上.
将finlOutPut三个数字的每个组(数组中的每个单元格)转换为一个单词(这就是triConvert函数所做的).如果所有三位数都为零,则将它们转换为"dontAddBigSuffix"
从右到左,增加千,百万,亿等.如果finlOutPut单元格等于"dontAddBigSufix"(因为它只是零),请不要添加单词并将单元格设置为" "(无).
它似乎工作得很好,但我遇到了一些问题,如19000000 9,转换为:" 一亿九千万 ".不知何故,当有几个零时它会"忘记"最后的数字.
我做错了什么?这个bug在哪里?为什么它不能完美运作?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript">
function update(){
var bigNumArry = new Array('', ' thousand', ' million', ' billion', ' trillion', ' quadrillion', ' quintillion');
var output = '';
var numString = document.getElementById('number').value;
var finlOutPut = new Array();
if (numString == '0') {
document.getElementById('container').innerHTML = 'Zero';
return;
} … 我正在使用Googles这个api: -
https://www.google.com/speech-api/v2/recognize?output=json&lang="+ language_code +"&key ="我的密钥"
用于语音识别,它的工作非常好.
问题在于数字,即,如果我说one two three four结果将是 1234
,如果我说one thousand two hundred thirty four结果仍然是1234.
另一个问题是使用其他语言,即elf德语中的单词eleven.如果你说elf结果是11,而不是精灵.
我知道我们无法控制api但是有任何参数或黑客可以添加到这个api以强制它只返回单词.
有时候响应的结果是正确的,但并非总是如此.
这些是样本回复
1)当我说"一二三四"时
{"result":[{"alternative":[{"transcript":"1234","confidence":0.47215959},{"transcript":"1 2 3 4","confidence":0.25},{"transcript":"one two three four","confidence":0.25},{"transcript":"1 2 34","confidence":0.33333334},{"transcript":"1 to 34","confidence":1}],"final":true}],"result_index":0}
Run Code Online (Sandbox Code Playgroud)
2)当我说"一千二百三十四"时
{"result":[{"alternative":[{"transcript":"1234","confidence":0.94247383},{"transcript":"1.254","confidence":1},{"transcript":"1284","confidence":1},{"transcript":"1244","confidence":1},{"transcript":"1230 4","confidence":1}],"final":true}],"result_index":0}
Run Code Online (Sandbox Code Playgroud)
我做了什么.
检查结果是否为数字,然后按空格分割每个数字并检查结果数组中是否有相同的序列.在此结果中,结果1234变为1 2 3 4并将搜索结果数组中是否存在类似的序列,然后将其转换为单词.在第二种情况下,没有1 2 3 4,因此将坚持原始结果.
这是代码.
String numberPattern = "[0-9]";
Pattern r1 = Pattern.compile(numberPattern);
Matcher m2 = r1.matcher(output);
if (m2.find()) {
char[] digits2 = output.toCharArray();
String …Run Code Online (Sandbox Code Playgroud) 是否有一个开源Java库,用于将String数转换为等效的整数(例如,将"ten"转换为10)?我知道该怎么做,但如果已经有一个库,我宁愿不浪费我的客户从头开始写一个.
所以SeekBar我的应用程序中有一个,我正在使用 Android 的 TalkBack 功能。当SeekBar滚动时,设备提示“(机器人:视contentDescription),SeekBar控件,50%”。是否可以更改它,使其显示实际值(从 -4 到 +4),例如“SeekBar 控件,负 4”?