2017-09-01 82 views
0

我正在研究一個簡單的應用程序,實際上我是第一次嘗試Android。雙錯計算

預期的結果

  • 我需要的結果在英語語言中顯示而已,如果移動的語言是在印地文爲例。
  • 我希望號碼在數字很長的時候不帶字母(E)。

代碼

protected void operation(char ope){ 
double num1 = Double.parseDouble(txtNum1.getText().toString()); 
double num2 = Double.parseDouble(txtNum2.getText().toString()); 
double resultMulti = 0; 
switch (ope) { 
    case '*': 
    resultMulti = num1 * num2; 
    long a3=(long)resultMulti; 
    if (resultMulti-a3 <= 0) 
     txtMultiResult.setText(a3 + ""); 
    else 
     txtMultiResult.setText(String.format("%.2f",resultMulti));// without E but will be converted to Mobile Language 

    // txtMultiResult.setText(resultMulti+""); // with E 
    // txtMultiResult.setText(String.valueOf(resultMulti));// With E 
    // txtMultiResult.setText(Double.toString(resultMulti));// with E 

    imm.hideSoftInputFromWindow(btnMulti.getWindowToken(),0); 
    break; 
    } 
} 
+0

的可能的複製[如何避免雙重科學記數法?(https://stackoverflow.com/questions/20813631/how-to-avoid-scientific-notation-in-雙) – Colonder

回答

0

如何使用Locale.ENGLISHString.format()?作爲這樣的:

txtMultiResult.setText(String.format(Locale.ENGLISH, "%.2f", resultMulti)); 
+0

感謝您的答案,但它保持不變,沒有任何改變! – john