Number To Words - android
Simple application to convert a number into word. This app may be quite handy when you have to fill a check or any other bank documents where you have to enter the amount both in figure and words
Please donate and support at https://www.paypal.me/Rajcoomar
Splash screen
Splash screen will appear for about 3 seconds when the application is starting up
public class SplashScreen extends AppCompatActivity { private final int SPLASH_DISPLAY_LENGTH = 3000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); requestWindowFeature(Window.FEATURE_NO_TITLE); //2 lines of code make app fullscreen setContentView(R.layout.activity_splash_screen); new Handler().postDelayed(new Runnable(){ @Override public void run() { /* Create an Intent that will start the Menu-Activity. */ Intent i = new Intent(SplashScreen.this, MainActivity.class); startActivity(i); } }, SPLASH_DISPLAY_LENGTH); } }
Main Activity
Button buttonConvert = findViewById(R.id.BtnConvert); buttonConvert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try{ if (number.getText().toString().length() != 0){ String result = EnglishNumberToWords.convert(Long.parseLong(number.getText().toString())); AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage(result) .setTitle("Result") .setPositiveButton("ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // CONFIRM } }); // .setNegativeButton("cancel", new DialogInterface.OnClickListener() { // public void onClick(DialogInterface dialog, int id) { // // CANCEL // } // }); // Create the AlertDialog object and return it builder.create(); builder.show(); } } catch (Exception ex){ Log.d("error", ex.getMessage()); } } });
public static String convert(long number) { // 0 to 999 999 999 999 if (number == 0) { return "zero"; } String snumber = Long.toString(number); // pad with "0" String mask = "000000000000"; DecimalFormat df = new DecimalFormat(mask); snumber = df.format(number); // XXXnnnnnnnnn int billions = Integer.parseInt(snumber.substring(0,3)); // nnnXXXnnnnnn int millions = Integer.parseInt(snumber.substring(3,6)); // nnnnnnXXXnnn int hundredThousands = Integer.parseInt(snumber.substring(6,9)); // nnnnnnnnnXXX int thousands = Integer.parseInt(snumber.substring(9,12)); String tradBillions; switch (billions) { case 0: tradBillions = ""; break; case 1 : tradBillions = convertLessThanOneThousand(billions) + " billion "; break; default : tradBillions = convertLessThanOneThousand(billions) + " billion "; } String result = tradBillions; String tradMillions; switch (millions) { case 0: tradMillions = ""; break; case 1 : tradMillions = convertLessThanOneThousand(millions) + " million "; break; default : tradMillions = convertLessThanOneThousand(millions) + " million "; } result = result + tradMillions; String tradHundredThousands; switch (hundredThousands) { case 0: tradHundredThousands = ""; break; case 1 : tradHundredThousands = "one thousand "; break; default : tradHundredThousands = convertLessThanOneThousand(hundredThousands) + " thousand "; } result = result + tradHundredThousands; String tradThousand; tradThousand = convertLessThanOneThousand(thousands); result = result + tradThousand; // remove extra spaces! return result.replaceAll("^\\s+", "").replaceAll("\\b\\s{2,}\\b", " "); }
Download
Click here to download the source codePlease donate and support at https://www.paypal.me/Rajcoomar
Comments
Post a Comment