Skip to main content

Posts

Showing posts from August, 2012

Check if a string converted to a number is actually a number in ActionScript (Flex) and setting scale of a number

An easy way to check if a String is actually a number of not is to actually convert the string to a Number and test if it's NaN. Flex API reference mentions that the top-level function Number(str) returns NaN if the string passed to the method cannot be converted to a Number. The problem with this approach is that if you take Number(null) or Number(undefined) or Number(""), all will return 0 and will evaluate to "is a number". The correct way to do this is shown in following code snippet. It also sets scale of the converted number to two decimal digits. public static function getNumberFromString(val:*, scale:uint = 2):* {     if ((val === null || StringUtil.trim(val) === "" || isNaN(val)) == false)         return setScale(Number(val)).toFixed(scale);     else         return ""; } public static function setScale(number:Number, scale:uint = 2):Number {      scale ...

Use 64 bit data model JVM on Sun X Solaris

Goal: Either to determine the bit width in a Java program or use a 64 bit data model JVM. OS: SunX Solaris 64 bit OS. First of all install 32 bit JDK/JRE (steps 1 and 2 are valid for JDK 1.6) Then add 64 bit packages over it. This will convert the JDK to work in both 32 bit and 64 bit modes (but 32 bit is still default). To test it for 32 bit, run $ java -version To test it for 64 bit, run $ java -d64 -version In ant binary file (in bin folder of apache-ant) add line ANT_OPTS="$ANT_OPTS -d64" If you do not want to change ant binary file, then you can set the environment variable every time you run the ant command. For e.g. setenv ANT_OPTS -d64 Next you add instructions in build.xml file used by ant. In Java/JUnit tags, add property clonevm="true" if you have fork="true" property. This will clone the same VM environment for all forked processes, as for ant process itself. clonevm will not have any effect if fork is false. Run you ant target. Follo...