comparison src/luan/Lua.java @ 46:a443637829c1

remove LuaNumber git-svn-id: https://luan-java.googlecode.com/svn/trunk@47 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 27 Dec 2012 01:48:36 +0000
parents 57054fa43189
children
comparison
equal deleted inserted replaced
45:b1b14d09fc98 46:a443637829c1
9 return "nil"; 9 return "nil";
10 if( obj instanceof String ) 10 if( obj instanceof String )
11 return "string"; 11 return "string";
12 if( obj instanceof Boolean ) 12 if( obj instanceof Boolean )
13 return "boolean"; 13 return "boolean";
14 if( obj instanceof LuaNumber ) 14 if( obj instanceof Number )
15 return "number"; 15 return "number";
16 return "userdata"; 16 return "userdata";
17 } 17 }
18 18
19 public static boolean toBoolean(Object obj) { 19 public static boolean toBoolean(Object obj) {
20 return obj != null && !Boolean.FALSE.equals(obj); 20 return obj != null && !Boolean.FALSE.equals(obj);
21 } 21 }
22 22
23 public static String asString(Object obj) { 23 public static String asString(Object obj) {
24 if( obj instanceof String || obj instanceof LuaNumber ) 24 if( obj instanceof String )
25 return obj.toString(); 25 return (String)obj;
26 if( obj instanceof Number )
27 return toString((Number)obj);
26 return null; 28 return null;
27 } 29 }
28 30
29 public static LuaNumber toNumber(Object obj) { 31 public static Number toNumber(Object obj) {
30 return toNumber(obj,null); 32 return toNumber(obj,null);
31 } 33 }
32 34
33 public static LuaNumber toNumber(Object obj,Integer base) { 35 public static Number toNumber(Object obj,Integer base) {
34 if( obj instanceof LuaNumber ) 36 if( obj instanceof Number )
35 return (LuaNumber)obj; 37 return (Number)obj;
36 if( obj instanceof String ) { 38 if( obj instanceof String ) {
37 String s = (String)obj; 39 String s = (String)obj;
38 try { 40 try {
39 if( base==null ) 41 if( base==null )
40 return LuaNumber.of( Double.parseDouble(s) ); 42 return Double.valueOf(s);
41 else 43 else
42 return LuaNumber.of( Long.parseLong(s,base) ); 44 return Long.valueOf(s,base);
43 } catch(NumberFormatException e) {} 45 } catch(NumberFormatException e) {}
44 } 46 }
45 return null; 47 return null;
46 } 48 }
47 49
48 public static Object first(Object[] a) { 50 public static Object first(Object[] a) {
49 return a.length==0 ? null : a[0]; 51 return a.length==0 ? null : a[0];
50 } 52 }
51 53
54 public static String toString(Number n) {
55 if( n instanceof Integer )
56 return n.toString();
57 String s = n.toString();
58 int iE = s.indexOf('E');
59 String ending = null;
60 if( iE != -1 ) {
61 ending = s.substring(iE);
62 s = s.substring(0,iE);
63 }
64 if( s.endsWith(".0") )
65 s = s.substring(0,s.length()-2);
66 if( ending != null )
67 s += ending;
68 return s;
69 }
70
71 public static Integer asInteger(Object obj) {
72 if( obj instanceof Integer )
73 return (Integer)obj;
74 if( !(obj instanceof Number) )
75 return null;
76 Number n = (Number)obj;
77 int i = n.intValue();
78 return i==n.doubleValue() ? Integer.valueOf(i) : null;
79 }
52 } 80 }