Commit d909b18e authored by yanzg's avatar yanzg

表结构修改

parent 66518f82
...@@ -600,15 +600,24 @@ public class StringHelper { ...@@ -600,15 +600,24 @@ public class StringHelper {
* @return 转换成功后的值 * @return 转换成功后的值
*/ */
public static short toShort(Object from) { public static short toShort(Object from) {
short result = 0;
try { try {
if (!isEmpty(from)) { if (isEmpty(from)) {
result = Short.parseShort(from.toString()); return 0;
}
if (isNumber(from)) {
return (short) from;
} }
return Short.parseShort(from.toString());
} catch (Exception ex) { } catch (Exception ex) {
try {
double d = Double.parseDouble(from.toString());
return (short) d;
} catch (Exception e) {
ExceptionHelper.handleException(StringHelper.class, ex, from);
}
ExceptionHelper.handleException(StringHelper.class, ex, from); ExceptionHelper.handleException(StringHelper.class, ex, from);
} }
return result; return 0;
} }
/** /**
...@@ -619,23 +628,24 @@ public class StringHelper { ...@@ -619,23 +628,24 @@ public class StringHelper {
* @return 转换成功后的值 * @return 转换成功后的值
*/ */
public static int toInt(Object from, int def) { public static int toInt(Object from, int def) {
int result = def;
try { try {
if (!isEmpty(from)) { if (isEmpty(from)) {
// String类型的小数转int会出错 return def;
result = Integer.parseInt(from.toString()); }
if (isNumber(from)) {
return (int) from;
} }
return Integer.parseInt(from.toString());
} catch (Exception ex) { } catch (Exception ex) {
try { try {
double d = Double.parseDouble(from.toString()); double d = Double.parseDouble(from.toString());
int i = (int) d; return (int) d;
result = Integer.parseInt(String.valueOf(i));
} catch (Exception e) { } catch (Exception e) {
ExceptionHelper.handleException(StringHelper.class, ex, from); ExceptionHelper.handleException(StringHelper.class, ex, from);
} }
ExceptionHelper.handleException(StringHelper.class, ex, from); ExceptionHelper.handleException(StringHelper.class, ex, from);
} }
return result; return def;
} }
/** /**
...@@ -655,15 +665,24 @@ public class StringHelper { ...@@ -655,15 +665,24 @@ public class StringHelper {
* @return 转换成功后的值 * @return 转换成功后的值
*/ */
public static long toLong(Object from) { public static long toLong(Object from) {
long result = 0;
try { try {
if (!isEmpty(from)) { if (isEmpty(from)) {
result = Long.parseLong(from.toString()); return 0;
}
if (isNumber(from)) {
return (long) from;
} }
return Long.parseLong(from.toString());
} catch (Exception ex) { } catch (Exception ex) {
try {
double d = Double.parseDouble(from.toString());
return (long) d;
} catch (Exception e) {
ExceptionHelper.handleException(StringHelper.class, ex, from);
}
ExceptionHelper.handleException(StringHelper.class, ex, from); ExceptionHelper.handleException(StringHelper.class, ex, from);
} }
return result; return 0;
} }
/** /**
......
...@@ -26,39 +26,64 @@ public class TestStringHelper { ...@@ -26,39 +26,64 @@ public class TestStringHelper {
@Test @Test
public void test() { public void test() {
System.out.println(StringHelper.left("100500103", 3)); Assert.assertEquals(StringHelper.left("100500103", 3), "100");
System.out.println(StringHelper.left("10", 3)); Assert.assertEquals(StringHelper.left("10", 3), "10");
System.out.println(StringHelper.right("100500103", 3)); Assert.assertEquals(StringHelper.right("100500103", 3), "103");
System.out.println(StringHelper.right("03", 3)); Assert.assertEquals(StringHelper.right("03", 3), "03");
} }
@Test @Test
public void testTrim() { public void testTrim() {
System.out.println(StringHelper.trimLeft("100500103", "1", "0")); Assert.assertEquals(StringHelper.trimLeft("100500103", "1", "0"), "500103");
System.out.println(StringHelper.trimRight("100500103", "3", "0")); Assert.assertEquals(StringHelper.trimRight("100500103", "3", "0"), "1005001");
System.out.println(StringHelper.trim("1005050103", "1", "0", "3")); Assert.assertEquals(StringHelper.trim("1005050103", "1", "0", "3"), "505");
} }
@Test @Test
public void testToString() { public void testDoubleToLong() {
System.out.println(StringHelper.toString(0.0000000)); long a = StringHelper.toLong("30000.0");
System.out.println(StringHelper.toString(50.0000001)); Assert.assertEquals(a, 30000);
System.out.println(StringHelper.toString(0.02));
System.out.println(StringHelper.toString(0.0000001)); long b = StringHelper.toLong(StringHelper.toDecimal("30000.0"));
System.out.println(StringHelper.toString(50.00050000)); Assert.assertEquals(b, 30000);
System.out.println(StringHelper.toString(0.00050000)); }
System.out.println(StringHelper.toString(0.1000000));
System.out.println(StringHelper.toString(5.1000000)); @Test
System.out.println(StringHelper.toString(100.1000000)); public void testDoubleToInt() {
int a = StringHelper.toInt("30000.0");
Assert.assertEquals(a, 30000);
System.out.println(StringHelper.toString(new BigDecimal("0.0000000")));
System.out.println(StringHelper.toString(new BigDecimal("0.0000001"))); int b = StringHelper.toInt(StringHelper.toDecimal("30000.0"));
System.out.println(StringHelper.toString(new BigDecimal("0.00050000"))); Assert.assertEquals(b, 30000);
System.out.println(StringHelper.toString(new BigDecimal("0.1000000"))); }
System.out.println(StringHelper.toString(new BigDecimal("100.1000000")));
@Test
public void testDoubleToShort() {
short a = StringHelper.toShort("30000.0");
Assert.assertEquals(a, 30000);
short b = StringHelper.toShort(StringHelper.toDecimal("30000.0"));
Assert.assertEquals(b, 30000);
} }
@Test
public void testToString() {
Assert.assertEquals(StringHelper.toString(0.0000000), "0");
Assert.assertEquals(StringHelper.toString(50.0000001), "50.0000001");
Assert.assertEquals(StringHelper.toString(0.02), "0.02");
Assert.assertEquals(StringHelper.toString(0.0000001), "0.0000001");
Assert.assertEquals(StringHelper.toString(50.00050000), "50.0005");
Assert.assertEquals(StringHelper.toString(0.00050000), "0.0005");
Assert.assertEquals(StringHelper.toString(0.1000000), "0.1");
Assert.assertEquals(StringHelper.toString(5.1000000), "5.1");
Assert.assertEquals(StringHelper.toString(100.1000000), "100.1");
Assert.assertEquals(StringHelper.toString(new BigDecimal("0.0000000")), "0");
Assert.assertEquals(StringHelper.toString(new BigDecimal("0.0000001")), "0.0000001");
Assert.assertEquals(StringHelper.toString(new BigDecimal("0.00050000")), "0.0005");
Assert.assertEquals(StringHelper.toString(new BigDecimal("0.1000000")), "0.1");
Assert.assertEquals(StringHelper.toString(new BigDecimal("100.1000000")), "100.1");
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment