Commit d909b18e authored by yanzg's avatar yanzg

表结构修改

parent 66518f82
......@@ -600,15 +600,24 @@ public class StringHelper {
* @return 转换成功后的值
*/
public static short toShort(Object from) {
short result = 0;
try {
if (!isEmpty(from)) {
result = Short.parseShort(from.toString());
if (isEmpty(from)) {
return 0;
}
if (isNumber(from)) {
return (short) from;
}
return Short.parseShort(from.toString());
} 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);
}
return result;
return 0;
}
/**
......@@ -619,23 +628,24 @@ public class StringHelper {
* @return 转换成功后的值
*/
public static int toInt(Object from, int def) {
int result = def;
try {
if (!isEmpty(from)) {
// String类型的小数转int会出错
result = Integer.parseInt(from.toString());
if (isEmpty(from)) {
return def;
}
if (isNumber(from)) {
return (int) from;
}
return Integer.parseInt(from.toString());
} catch (Exception ex) {
try {
double d = Double.parseDouble(from.toString());
int i = (int) d;
result = Integer.parseInt(String.valueOf(i));
return (int) d;
} catch (Exception e) {
ExceptionHelper.handleException(StringHelper.class, ex, from);
}
ExceptionHelper.handleException(StringHelper.class, ex, from);
}
return result;
return def;
}
/**
......@@ -655,15 +665,24 @@ public class StringHelper {
* @return 转换成功后的值
*/
public static long toLong(Object from) {
long result = 0;
try {
if (!isEmpty(from)) {
result = Long.parseLong(from.toString());
if (isEmpty(from)) {
return 0;
}
if (isNumber(from)) {
return (long) from;
}
return Long.parseLong(from.toString());
} 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);
}
return result;
return 0;
}
/**
......
......@@ -26,39 +26,64 @@ public class TestStringHelper {
@Test
public void test() {
System.out.println(StringHelper.left("100500103", 3));
System.out.println(StringHelper.left("10", 3));
System.out.println(StringHelper.right("100500103", 3));
System.out.println(StringHelper.right("03", 3));
Assert.assertEquals(StringHelper.left("100500103", 3), "100");
Assert.assertEquals(StringHelper.left("10", 3), "10");
Assert.assertEquals(StringHelper.right("100500103", 3), "103");
Assert.assertEquals(StringHelper.right("03", 3), "03");
}
@Test
public void testTrim() {
System.out.println(StringHelper.trimLeft("100500103", "1", "0"));
System.out.println(StringHelper.trimRight("100500103", "3", "0"));
System.out.println(StringHelper.trim("1005050103", "1", "0", "3"));
Assert.assertEquals(StringHelper.trimLeft("100500103", "1", "0"), "500103");
Assert.assertEquals(StringHelper.trimRight("100500103", "3", "0"), "1005001");
Assert.assertEquals(StringHelper.trim("1005050103", "1", "0", "3"), "505");
}
@Test
public void testToString() {
System.out.println(StringHelper.toString(0.0000000));
System.out.println(StringHelper.toString(50.0000001));
System.out.println(StringHelper.toString(0.02));
System.out.println(StringHelper.toString(0.0000001));
System.out.println(StringHelper.toString(50.00050000));
System.out.println(StringHelper.toString(0.00050000));
System.out.println(StringHelper.toString(0.1000000));
System.out.println(StringHelper.toString(5.1000000));
System.out.println(StringHelper.toString(100.1000000));
System.out.println(StringHelper.toString(new BigDecimal("0.0000000")));
System.out.println(StringHelper.toString(new BigDecimal("0.0000001")));
System.out.println(StringHelper.toString(new BigDecimal("0.00050000")));
System.out.println(StringHelper.toString(new BigDecimal("0.1000000")));
System.out.println(StringHelper.toString(new BigDecimal("100.1000000")));
public void testDoubleToLong() {
long a = StringHelper.toLong("30000.0");
Assert.assertEquals(a, 30000);
long b = StringHelper.toLong(StringHelper.toDecimal("30000.0"));
Assert.assertEquals(b, 30000);
}
@Test
public void testDoubleToInt() {
int a = StringHelper.toInt("30000.0");
Assert.assertEquals(a, 30000);
int b = StringHelper.toInt(StringHelper.toDecimal("30000.0"));
Assert.assertEquals(b, 30000);
}
@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