Note that there are some explanatory texts on larger screens.

plurals
  1. POMy calculator messes up when I use digits more than 8
    primarykey
    data
    text
    <p>I made up a calculator seeing a tutorial on youtube, and the code works perfectly fine when I use it with 4-5 digits. But when I use it with around 8 digits the result messes up. For example 200000000-200= 1.99998E7 Can someone please correct my code?</p> <pre><code> package com.example.asd; import android.os.Bundle; import android.app.Activity; import android.graphics.Typeface; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.view.Window; import android.view.View.OnClickListener; public class MainActivity extends Activity { Typeface font1, font2; TextView tv1; private EditText Scr; //textbox screen private float NumberBf; //Save screen before pressing button operation; private String Operation; private ButtonClickListener btnClick; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); font1=Typeface.createFromAsset(getAssets(), "digits.ttf"); Scr=(EditText)findViewById(R.id.editText); Scr.setTypeface(font1); font2=Typeface.createFromAsset(getAssets(), "alexbrush.TTF"); tv1=(TextView)findViewById(R.id.textView1); tv1.setTypeface(font2); Scr = (EditText) findViewById(R.id.editText); Scr.setEnabled(false); btnClick = new ButtonClickListener(); int idList[] = {R.id.button0,R.id.button7, R.id.button1, R.id.button8,R.id.button9,R.id.button4, R.id.button5,R.id.button6,R.id.button,R.id.button2,R.id.button3,R.id.buttonDot, R.id.buttonMul,R.id.buttonDiv,R.id.buttonAdd,R.id.buttonSub,R.id.buttonC, R.id.buttonEq, R.id.buttonSqrt, R.id.buttonsquare }; for(int id:idList){ View v = (View) findViewById(id); v.setOnClickListener(btnClick); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void mMath(String str){ NumberBf = Float.parseFloat(Scr.getText().toString()); //save the screen Operation = str; //save operation Scr.setText("0"); //Clear screen } public void getKeyboard(String str){ String ScrCurrent = Scr.getText().toString(); if(ScrCurrent.equals("0")) ScrCurrent = ""; ScrCurrent += str; Scr.setText(ScrCurrent); } public void mResult(){ float NumAf = Float.parseFloat(Scr.getText().toString()); float result = 0; if(Operation.equals("+")){ result = NumAf + NumberBf; } if(Operation.equals("-")){ result = NumberBf - NumAf; } if(Operation.equals("*")){ result = NumAf * NumberBf; } if(Operation.equals("/")){ result = NumberBf / NumAf; } Scr.setText(String.valueOf(result)); } public void fnSqrt(){ double Number = Double.parseDouble(Scr.getText().toString()); Number = Math.sqrt(Number); Scr.setText(String.valueOf(Number)); } public void fnSquare(){ float Number1 = Float.parseFloat(Scr.getText().toString()); Number1 = pow(Number1, 2); Scr.setText(String.valueOf(Number1)); } //new class ButtonClickListener private float pow(float number1, int i) { // TODO Auto-generated method stub return number1*number1; } private class ButtonClickListener implements OnClickListener{ public void onClick(View v){ switch (v.getId()){ case R.id.buttonC: //Clear screen Scr.setText("0"); NumberBf = 0; Operation = ""; break; case R.id.buttonAdd: //function Add mMath("+"); break; case R.id.buttonSub: mMath("-"); break; case R.id.buttonMul: mMath("*"); break; case R.id.buttonDiv: mMath("/"); break; case R.id.buttonEq: mResult(); break; case R.id.buttonSqrt: fnSqrt(); break; case R.id.buttonsquare: fnSquare(); break; default: String numb = ((Button) v).getText().toString(); getKeyboard(numb); break; } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload