陣列要轉換成字串,只需要呼叫java.util.Arrays的toString function就可以完成了,當然要使用for loop一個一個處理也是可以的。
陣列字串要轉換成陣列時,只需要把字串的前後[與]取代成空白,再利用String的split function就可以切開成陣列了。
結果:
package com.yslifes.util; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; public class NumberUtils { /** * 字串取小數幾位 * * @param str * 字串(數字) * @param precision * 小數幾碼 * @return 取好的字串 */ public static String MarkUpZero(String str, int precision) { String maskup = "00000000000"; String retVal = str; retVal = StringUtils.nvl(retVal, "0"); if (precision == 0) { int idx = retVal.indexOf("."); if (idx == -1) return retVal; else return retVal.substring(0, idx); } if (precision > 0 && retVal.indexOf(".") == -1) { retVal += "."; } int len = retVal.indexOf("."); return (retVal + maskup).substring(0, retVal.indexOf(".")) + (retVal + maskup).substring(retVal.indexOf("."), len + precision + 1); } public static void main(String args[]) { System.out.println("22222取小數二位:\t\t\t"+MarkUpZero("22222", 2)); System.out.println("22222.1取小數二位:\t\t"+MarkUpZero("22222.1", 2)); System.out.println("22222.11111取小數二位:\t\t"+MarkUpZero("22222.11111", 2)); System.out.println("22222.1取小數零位:\t\t"+MarkUpZero("22222.1", 0)); } }Read More
/** * 數字不足部份補零回傳 * @param str 數字 * @param lenSize 數字最大長度,不足的部份補零 * @return 回傳補零後字串數字 */ public static String MakesUpZero(int str, int lenSize) { return MakesUpZero(String.valueOf(str), lenSize); } /** * 數字不足部份補零回傳 * @param str 字串 * @param lenSize 字串數字最大長度,不足的部份補零 * @return 回傳補零後字串數字 */ public static String MakesUpZero(String str, int lenSize) { String zero = "0000000000"; String returnValue = zero; returnValue = zero + str; return returnValue.substring(returnValue.length() - lenSize); } public static void main(String args[]) { //把字串123前方不足五碼的部份補零 System.out.println("不足5碼部份補零:"+StringUtils.MakesUpZero("123", 5)); //把數字123前方不足六碼的部份補零 System.out.println("不足6碼部份補零:"+StringUtils.MakesUpZero(123, 6)); }