Updated 2011-06-05, now version 2.2

There are three versions, the original Calc4M that needs MIDP2.0 to run, a simplified Calc4M.m1 that runs on any Java mobile phone and a special .cod version for BlackBerrys. If you are unsure what to try, try the full version first and if it refuses to load, then try the simplified version

Download Calc4M.jar or Calc4M.jad, see also

If you have a BlackBerry, you may also try the .cod version at Calc4M.cod

If the above refuses to load, try the simplified Calc4Mm1.jar or Calc4Mm1.jad

Calc4M is a calculator for mobile phones. It works on phones with CLDC 1.0 and MIPD 2.0 which means most phones from 2004 and later, such as SonyEricsson K700 and Nokia 6230 and later. It is currently tested on SonyEricsson, Nokia, Samsung and Motorola platforms.

It is configurable and contains most of the normal functions such as trigonometric and logarithmic functions, conversions, constants, memories and binary and hexadecimal notation. The configurations include possibilities to

One important thing to note is that most buttons have two functions. Press and hold down the key to access the "secondary" function which is denoted by the bottom right text on the buttons.

If you have any comments, suggestions, feature requests or bug reports, just give me a note. I am also open for customizations according to specific needs, preferably if you are willing to pay for it :). Otherwise, it is free for normal use.

  • Fixed an error that occurred when performing certain conversions without giving any input. Thanks to zjlee51 for reporting.
  • Fixed a calculations error for hyperbolic functions, thanks to ArturO
  • Added a function to display decimal numbers in degrees, arc minutes and arc seconds, thanks to azza for the suggestion
  • Changed the colour scheme
  • Made it calculate factorials exactly up to approx. 400000! (thanks to Rick)
  • Made it work on some phones with only letter (no numeric) buttons (thanks to Hubert Hickley)
  • Changed so it uses CLDC 1.0 instead of CLDC 1.1 (may work on older phones)
  • Added possibility to define how many decimals to display (in settings menu)
  • Changed so that the "fire" button now performs the calculation ("=")
  • The conversion between miles per gallon and liter per 100 km was wrong by a factor 10. Thanks to Nuno Gil for notifying me.
  • Made the #-button work properly on newer Nokia S60 (thanks to Peter Frank for making me aware of this and to Odne Hellebø for letting me try it on his new phone)
  • Added functionality to touch screenphones, drawing left on the screen now is the same as pressing the left button, the same for up, right and down. To perform an "all clear", draw a slanting line on the screen
  • Changed horsepower conversion so it now states it is metric horsepower, hp(M). Thanks to Egídio Campos for pointing this out
  • Made the start screen display only the first time after a fresh installation
  • Made the menu accessible for Motorola ROKR E6 (thanks to Jaap Geurts for helping me with this)
  • Fixed a bug that allowed typing 8 when in octal mode
  • Added octal numbers
  • Fixed a bug that made occurred using the conversions in some cases
  • Made it work better on old Samsung phones such as E250
  • Made it work better on BlackBerry
  • Made the menu look nice on Nokia S60
  • Added some new conversions
  • Added possibility to click on the touch screen on touch screen mobile phones
  • Added an "undo" function that lets the user regret input
  • Changed how to get to the different modes (now only up/down)
  • Made it work correctly on Samsung mobile phones, appearantly it did not previously. Thanks to Jorge Centellas Ayala for pointing this out
  • Added a special button text mode for Nokia phones
  • Updated the vendor recognition function
  • Fixed a bug that occurred when performing some conversions without specifying a value
  • Removed leading zeroes when using binary or hexadecimal notation
  • updated constants handling on the MIDP 1.0 version
  • updated default default/sci/eng handling
  • added a MIDP 1.0 version

For calculations, the library ral.Real is used.

Basic arithmetics
Basic arithmetics
No 'full screen' and alternative layout
No "full screen" and alternative layout
Trigonometric and logarithmic functions
Binary/decimal/hexadecimal notation
Conversions 1
Conversions 2