2017-07-16 69 views
0

我想計算百分比。但它給了我錯誤的結果(2.78674E7)。android:計算雙倍百分比?

下面是我的代碼:

public class DetailActivity extends AppCompatActivity { 

    private Button btn_pre_payment; 
    private EditText et_pre_payment; 

    private double monthlyPayment; 
    private double allPayment = 139337000; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_detail); 
     btn_pre_payment = (Button)findViewById(R.id.bt_prepayment); 
     et_pre_payment = (EditText)findViewById(R.id.et_prepayment); 

     btn_pre_payment.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if(et_pre_payment.getText().length() > 0){ 

        float value = Float.valueOf(et_pre_payment.getText().toString()); 
        if(value >= 10){ 

         InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
         in.hideSoftInputFromWindow(et_pre_payment.getApplicationWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS); 


          **monthlyPayment = (allPayment/100f) * value; 
          tvMonthlyPaymentH.setText(String.valueOf(monthlyPayment)); 
          remainderPayment -= monthlyPayment;** 

         } 

        } else Toast.makeText(DetailActivity.this, "Low is 10%!", Toast.LENGTH_SHORT).show(); 
       } else { 
        Toast.makeText(DetailActivity.this, "Enter value!", Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 
    } 
} 

爲什麼不能計算出正確的結果?它給了我2.78674E7。我想計算百分比。

回答

0

值以科學記數法給出你可以嘗試使用

String.format("%.0f", YourValue)

得到正確的值。

退房this問題this問題

+0

哦,這是因爲格式。我認爲數學錯誤是很奇怪的。 –

0

首先,你的數學是錯誤的。它應該是值/總數* 100,而不是數值*總數/ 100。

+0

這是沒有錯的。這是一樣的 –

+0

20/100 * 100和20 *(100/100) –

+0

不,它不是。總數在分母中的正確版本,而不是分子。 100應該在分子中,而不是分母。你的版本是倒退 –