2013-11-30 3 views
0

Не знаю, как получить результат от цена и процентов чтобы показать цену после скидки!Код для расчета процентного нерабочего

 // write the percentage 
    final EditText editPrice = (EditText) findViewById(R.id.editPrice); 
    // write the price 
    final EditText ePercent = (EditText) findViewById(R.id.ePercent); 
    // Hopefully to get the result 
    final TextView result = (TextView) findViewById(R.id.viewResult); 

    Button buttonConvert = (Button) findViewById(R.id.buttonConvert); 
    buttonConvert.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      try { 
       double price = Double.valueOf(editPrice.getText() 
         .toString()); 
       // percent 
       double per = (price/100.0f) * ePercent;; 

       result.setText(String.valueOf(per)); 

Любая помощь! Спасибо!

+0

Для меня, ваша окончательная цена 'двойной finalPrice = цена - per'. Нет? – gahfy

+2

Я думаю, вы забыли TypeCast ** ePercent **, чтобы удвоить. –

+0

Как это сделать? Я уже бросил цену вдвое! – user3051834

ответ

0

Попробуйте это ..

  // getting value from editPrice and parsing to double 
      double price = Double.parseDouble(editPrice.getText().toString()); 

      // same like that getting value from ePercent and parsing to double 
      double ePer = Double.parseDouble(ePercent.getText().toString()); 

      // percent 
      double per = (price/100.0f) * ePer;; 

      result.setText(String.valueOf(per)); 
      // or 
      result.setText(""+per); 
+0

Спасибо! теперь все в порядке. – user3051834

+0

@ user3051834 Это рассчитывает скидку, а не цену после скидки! – ramaral

+0

@ramaral .. да, вы правы! но ваш метод дает мне ошибку! – user3051834

0
Button buttonConvert = (Button) findViewById(R.id.buttonConvert); 
buttonConvert.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
      double price = Double.parseDouble(editPrice.getText() 
        .toString()); 
      // percent 
      double ePercent = Double.parseDouble(ePercent.getText() 
        .toString()); 

      //if ePercent between 0 and 1 
       double result = price * (1.0f - ePercent); 
      //if ePercent between 0 and 100 
       double result = price * ((100.0f - ePercent)/100.0f); 

      result.setText(String.valueOf(result)); 
    } 
} 
+0

@ user3051834 Вы должны выбрать только один результат расчета - ePercent между 0 и 1 ** или ** ePercent между 0 и 100 – ramaral

Смежные вопросы