可以將字符串數組的所有值加上正數或負數,然後將它們傳遞給雙數組。Parse String to double []
實施例: 和值 字符串sa_notas [] = {1,5,-2} RESULT(1 + 5-2)= 4
ERROR MENSSAGE: 在org.apache.harmony.luni .util.FloatingPointParser.initialParse(FloatingPointParser.java:149) at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:281) at java.lang.Double.parseDouble(Double.java:318 ) at es.amedidaapp.gado.D_Anadir_Registro $ 3.afterTextChanged(D_Anadir_Registro.java:176)
感謝您的幫助
代碼:
if (s.length() > 0) {
s_contains_notas = et_notas.getText().toString();
if (b_calculadora) {
if (s_contains_notas.length() <= 0 || !s_contains_notas.matches("[^0-9]+")) {
s_contains_notas = s_contains_notas.replace("+", " ");//separate positives numbers
s_contains_notas = s_contains_notas.replaceAll("[^0-9, -]", ""); //delete letters
s_contains_notas = s_contains_notas.replace(",", "."); //change format numbers
s_contains_notas = s_contains_notas.replace("-", " -"); //separate negatives numbers
String sa_notas[] = s_contains_notas.split(" "); //{1, 5, -2}
double[] d_notas = new double[sa_notas.length];
for (int i = 0; i < d_notas.length; i++) {
d_notas[i] = Double.parseDouble(sa_notas[i]); //ERROR to write negative numbers
}
double d_sum_notas = 0;
for (Double d : d_notas) {
d_sum_notas += d;
}
s_euros = String.valueOf(d_sum_notas);
et_euros.setText(nf_locale.format(d_sum_notas));
}
}
}
}
謝謝你響應。 如果我刪除他們加入的這些號碼之間的分隔符。(152) – d2000k
您的問題是什麼?你會得到什麼結果? – JimmyB
當我寫負數時,花了它翻倍,出錯 – d2000k