NumbericUtil工具类(实现数字及数字格式化的基本功能:精确的加减乘除法、金额数字转 成中文等。)
package com.common;import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;public class NumericUtil {// 默认除法运算精度private static final int DEF_DIV_SCALE = 10;//字母随机数组,去除了i,o等歧义字母final static String[] letters = {"a","b","c","d","e","f","g","h","j","k","m","n","p","q","r","s","t","u","v","w","x","y"};//数字随机数组,去除了0和1等歧义数字final static String[] numbers = {"2","3","4","5","6","7","8","9"};/*** 构造函数.*/protected NumericUtil() {}/*** 提供精确的加法运算。* * @param v1* 被加数* @param v2* 加数* @return 两个参数的和* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double add(final double v1, final double v2) {final BigDecimal b1 = new BigDecimal(Double.toString(v1));final BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.add(b2).doubleValue();}/*** 提供精确的减法运算。* * @param v1* 被减数* @param v2* 减数* @return 两个参数的差* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double subtract(final double v1, final double v2) {final BigDecimal b1 = new BigDecimal(Double.toString(v1));final BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.subtract(b2).doubleValue();}/*** 提供精确的乘法运算。* * @param v1* 被乘数* @param v2* 乘数* @return 两个参数的积* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double multiply(final double v1, final double v2) {final BigDecimal b1 = new BigDecimal(Double.toString(v1));final BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.multiply(b2).doubleValue();}/*** 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入。* * @param v1* 被除数* @param v2* 除数* @return double* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double divide(final double v1, final double v2) {return NumericUtil.divide(v1, v2, NumericUtil.DEF_DIV_SCALE);}/*** 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。* * @param v1* 被除数* @param v2* 除数* @param scale* 表示表示需要精确到小数点以后几位。* @return double 两个参数的商* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double divide(final double v1, final double v2, final int scale) {if (scale < 0) {throw new IllegalArgumentException("The scale must be a positive integer or zero");}final BigDecimal b1 = new BigDecimal(Double.toString(v1));final BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();}/*** 提供精确的小数位四舍五入处理。* * @param v* 需要四舍五入的数字* @param scale* 小数点后保留几位* @return 四舍五入后的结果* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double round(final double v, final int scale) {if (scale < 0) {throw new IllegalArgumentException("The scale must be a positive integer or zero");}final BigDecimal b = new BigDecimal(Double.toString(v));final BigDecimal one = new BigDecimal("1");return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();}/*** 将数字金额(BigDecimal类型)转换为中文金额.* * @param bigdMoneyNumber* 转换前的数字金额* @return String 中文金额* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static String lowerToUpperOfMoney(final BigDecimal bigdMoneyNumber) {final String[] straChineseUnit = new String[] {"分", "角", "圆", "拾", "佰", "仟", "万", "拾", "佰","仟", "亿", "拾", "佰", "仟" };// 中文数字字符数组final String[] straChineseNumber = new String[] {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒","捌", "玖" };String strChineseCurrency = "";// 零数位标记boolean bZero = true;// 中文金额单位下标int chineseUnitIndex = 0;try {if (bigdMoneyNumber.intValue() == 0) {return "零圆整";}// 处理小数部分,四舍五入double doubMoneyNumber = Math.round(bigdMoneyNumber.doubleValue() * 100);// 是否负数final boolean bNegative = doubMoneyNumber < 0;// 取绝对值doubMoneyNumber = Math.abs(doubMoneyNumber);// 循环处理转换操作while (doubMoneyNumber > 0) {// 整的处理(无小数位)if (chineseUnitIndex == 2 && strChineseCurrency.length() == 0) {strChineseCurrency = strChineseCurrency + "整";}// 非零数位的处理if (doubMoneyNumber % 10 > 0) {strChineseCurrency = straChineseNumber[(int) doubMoneyNumber % 10]+ straChineseUnit[chineseUnitIndex] + strChineseCurrency;bZero = false;} else { // 零数位的处理// 元的处理(个位)if (chineseUnitIndex == 2) {// 段中有数字if (doubMoneyNumber > 0) {strChineseCurrency = straChineseUnit[chineseUnitIndex]+ strChineseCurrency;bZero = true;}} else if (chineseUnitIndex == 6 || chineseUnitIndex == 10) { // 万、亿数位的处理// 段中有数字if (doubMoneyNumber % 1000 > 0) {strChineseCurrency = straChineseUnit[chineseUnitIndex]+ strChineseCurrency;}}// 前一数位非零的处理if (!bZero) {strChineseCurrency = straChineseNumber[0] + strChineseCurrency;}bZero = true;}doubMoneyNumber = Math.floor(doubMoneyNumber / 10);chineseUnitIndex++;}// 负数的处理if (bNegative) {strChineseCurrency = "负" + strChineseCurrency;}} catch (final Exception e) {return "";}return strChineseCurrency;}/*** 将小写金额(double类型)转化为人民币大写格式.* * @param je* 转换前的小写数字金额* @return String 中文金额* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static String lowerToUpperOfMoney(final double je) {String money = ""; // 转换后的字符串final String num = "零壹贰叁肆伍陆柒捌玖";final String[] unit = {"元", "拾", "佰", "仟", "万", "拾万", "佰万", "仟万", "亿", "拾亿", "佰亿", "仟亿" };String s = String.valueOf(je); // 将金额转换为字符串final int a = s.indexOf("+"); // 判断s是否包含'+',如1.67E+4final int e = s.indexOf("E"); // 判断s是否包含'E',如1.67E+4if (je == 0.00) {return money;}// 如果包含'E'(该金额是以科学记数法表示,则转换成普通表示法)if (e != -1) {int index = 0; // 指数值if (a == -1) {index = Integer.parseInt(s.substring(e + 1)); // 取得指数值} else {index = Integer.parseInt(s.substring(a + 1)); // 取得指数值}final String sub1 = s.substring(0, e); // 取得尾数值final int dot = sub1.indexOf("."); // 尾数的小数点位置// 如果不含有小数点,则在后面补index个'0'if (dot == -1) {for (int i = 1; i <= index; i++) {s = sub1 + "0";}} else { // 如果含有小数点,则向后移动小数点index位final String sub11 = sub1.substring(0, dot); // 小数点前面的字串String sub12 = sub1.substring(dot + 1); // 小数点后面的字串if (index >= sub12.length()) {final int j = index - sub12.length();for (int i = 1; i <= j; i++) {sub12 = sub12 + "0";}} else {sub12 = sub12.substring(0, index) + "." + sub12.substring(index);}s = sub11 + sub12;}}final int sdot = s.indexOf("."); // s中小数点的位置String beforeDot = ""; // 小数点前面的字串String afterDot = ""; // 小数点后面的字串// 如果包含小数点if (sdot != -1) {beforeDot = s.substring(0, sdot);afterDot = s.substring(sdot + 1);} else { // 不包含小数点beforeDot = s;}final int bl = beforeDot.length();boolean zero = false; // 数字是否为零int z = 0; // '0'的个数// 逐位取数字for (int j = 0, i = bl - 1; j <= bl - 1; j++, i--) {final int number = Integer.parseInt(String.valueOf(beforeDot.charAt(j)));if (number == 0) {zero = true;z++;} else {zero = false;z = 0;}if (zero && z == 1) {money += "零";} else if (zero) {} else if (!zero) {money += num.substring(number, number + 1) + unit[i];}}// 删去多余的'万'和'亿'for (int i = 1; i <= 2; i++) {String ss = "";if (i == 1) {ss = "万";} else {ss = "亿";}final int last = money.lastIndexOf(ss);if (last != -1) {String moneySub1 = money.substring(0, last);final String moneySub2 = money.substring(last, money.length());int last2 = moneySub1.indexOf(ss);while (last2 != -1) {moneySub1 = moneySub1.substring(0, last2)+ moneySub1.substring(last2 + 1, moneySub1.length());last2 = moneySub1.indexOf(ss);}money = moneySub1 + moneySub2;}}// money中是否包含'元'final int yuan = money.indexOf("元");// 如果不包含'元'if (yuan == -1) {final int zi = money.lastIndexOf("零");// 如果最后一位字符为'零',则删除它if (zi == money.length() - 1) {money = money.substring(0, money.length() - 1) + "元"; // 在money最后加上'元'}}// 如果小数点后面的字串不为空,则处理'角','分'if (!afterDot.equals("")) {int al = afterDot.length();if (al > 2) { // 如果字串长度大于2,则截断afterDot = afterDot.substring(0, 2);al = afterDot.length();}// 如果字符串不为'0'或'00',则处理,否则不进行处理if (!afterDot.equals("0") && !afterDot.equals("00")) {// 逐位取得字符for (int i = 0; i < al; i++) {final int number = Integer.parseInt(String.valueOf(afterDot.charAt(i)));if (number != 0 && i == 0) {money += num.substring(number, number + 1) + "角";} else if (number != 0 && i == 1) {money += num.substring(number, number + 1) + "分";} else if (number == 0 && i == 0) {money += "零";}}}}// 如果不包含'角','分'则在最后加上'整'字if (money.indexOf("角") == -1 && money.indexOf("分") == -1) {money += "整";}return money;}/*** 将double数转化为指定位数的字符串.* * @param num* 待转换的float数* @param digits* 小数点后的位数* @return String 指定小数位数的字符串* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static String getNumberFormat(final float num, final int digits) {String thenum;final NumberFormat nf = NumberFormat.getInstance();nf.setMaximumFractionDigits(digits);nf.setMinimumFractionDigits(digits);thenum = nf.format(num).toString();return thenum;}/*** 将double数转化为指定位数的字符串.<br>* 例如: NumericUtil.getNumberFormat(123456.12345,3)* 的结果为123,456.123,注意小数点最后一位四舍五入* * @param num* 待转换的double数* @param digits* 小数点后的位数* @return String 指定小数位数的字符串* @author: lovem* @修改记录: ==============================================================<br>* 日期2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static String getNumberFormat(final double num, final int digits) {String thenum;final NumberFormat nf = NumberFormat.getInstance();nf.setMaximumFractionDigits(digits);nf.setMinimumFractionDigits(digits);thenum = nf.format(num).toString();return thenum;}/*** 将BigDecimal数转化为指定位数的字符串.<br>* 例如: NumericUtil.getNumberFormat(new BigDecimal(123456.12345),3)* 的结果为123,456.123,注意小数点最后一位四舍五入* * @param num* 待转换的BigDecimal数* @param digits* 小数点后的位数* @return String 指定小数位数的字符串* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static String getNumberFormat(BigDecimal num, final int digits) {String thenum = "";if (num == null) {num = new BigDecimal(0);}try {final NumberFormat nf = NumberFormat.getInstance();nf.setMaximumFractionDigits(digits);nf.setMinimumFractionDigits(digits);thenum = nf.format(num).toString();} catch (final NumberFormatException nfex) {throw new NumberFormatException(nfex.toString());}return thenum;}/*** 格式字符串为double输出.* * @param lpNumberFormat* 待格式化的字符串* @return double double数值* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double getNumberFormatStrToDouble(final String lpNumberFormat) {double lpReturnNumber = 0;final NumberFormat nf = NumberFormat.getInstance();try {final Number lpResultNumber = nf.parse(lpNumberFormat);lpReturnNumber = lpResultNumber.doubleValue();} catch (final ParseException pe) {}return lpReturnNumber;}/*** 格式字符串为float输出.* * @param lpNumberFormat* 待格式化的字符串* @return float float数值* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static float getNumberFormatStrToFloat(final String lpNumberFormat) {float lpReturnNumber = 0;final NumberFormat nf = NumberFormat.getInstance();try {final Number lpResultNumber = nf.parse(lpNumberFormat);lpReturnNumber = lpResultNumber.floatValue();} catch (final ParseException pe) {}return lpReturnNumber;}/*** 将字符串转化为BigDecimal类型.* * @param str* 待转换的字符串* @return BigDecimal 转换后的BigDecimal,如果字符串为null, 那么BigDecimal为new* BigDecimal("0");* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static BigDecimal toBigDecimal(String str) {BigDecimal lpReturnValue;try {if (str == null) {str = "0";}lpReturnValue = new BigDecimal(str);} catch (final NumberFormatException nfe) {lpReturnValue = new BigDecimal(0);}return lpReturnValue;}/*** 将字符串转化为double类型 Converts a string to double. If fails is not throwing a* NumberFormatException, instead return 0.* * @param str* 待转换的字符串* @return double数据* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static double toDouble(String str) {double lpResult = 0;if (str == null) {str = "";} else {str = str.trim();}try {lpResult = Double.parseDouble(str);} catch (final NumberFormatException nfe) {}return lpResult;}/*** 将字符串转化为short类型 Converts a string to short. If fails is not throwing a* NumberFormatException, instead return 0.* * @param str* 待转换的字符串* @return int数据* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static short toShort(String str) {short lpResult = 0;if (str == null) {str = "";} else {str = str.trim();}try {lpResult = Short.parseShort(str);} catch (final NumberFormatException nfe) {}return lpResult;}/*** 将字符串转化为int类型 Converts a string to integer. If fails is not throwing a* NumberFormatException, instead return 0.* * @param str* 待转换的字符串* @return int 数据* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static int toInt(String str) {int lpResult = 0;if (str == null) {str = "";} else {str = str.trim();}try {lpResult = Integer.parseInt(str);} catch (final NumberFormatException nfe) {}return lpResult;}/*** 将字符串转化为float类型 Converts a string to float. If fails is not throwing a* NumberFormatException, instead return 0.* * @param str* 待转换的字符串* @return float 数据* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static float toFloat(String str) {float lpResult = 0;if (str == null) {str = "";} else {str = str.trim();}try {lpResult = Float.parseFloat(str);} catch (final NumberFormatException nfe) {}return lpResult;}/*** 将字符串转化为long类型 Converts a string to long. If fails is not throwing a* NumberFormatException, instead return 0.* * @param str* 待转换的字符串* @return long 数据* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static long toLong(String str) {long lpResult = 0;if (str == null) {str = "";} else {str = str.trim();}try {lpResult = Long.parseLong(str);} catch (final NumberFormatException nfe) {}return lpResult;}/*** 当变量为空时返回零.* * @param obj* Object* @return int* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static int nullToZero(final Object obj) {int result = 0;if (obj == null || obj.toString().equals("")) {result = 0;} else {result = new Integer(obj.toString()).intValue();}return result;}/*** 当变量为空时返回零.* * @param obj* Object* @return BigDecimal* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static BigDecimal nullToBigDecimalZero(final Object obj) {BigDecimal result = new BigDecimal("0");if (obj == null || obj.toString().equals("")) {result = new BigDecimal("0");} else {result = new BigDecimal(obj.toString());}return result;}/*** @param obj* Object* @return String* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static String nullToStringZero(final Object obj) {BigDecimal result = new BigDecimal("0");if (obj == null || obj.toString().equals("")) {result = new BigDecimal("0");} else {result = new BigDecimal(obj.toString());}return result.toString();}/*** @param obj* Object* @return Long* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static Long nullToLongZero(final Object obj) {Long result = new Long(0);try {if (obj == null || obj.toString().equals("")) {result = new Long(0);} else {result = new Long(obj.toString());}} catch (final Exception ex) {result = new Long(0);}return result;}public static Long nullToLongZero(final Object obj, final Long rpt) {Long result = nullToLongZero(obj);if(result == 0L){result = rpt;}return result;}public static Integer nullToIntegerZero(final Object obj) {Integer result = new Integer(0);try {if (obj == null || obj.toString().equals("")) {result = new Integer(0);} else {result = new Integer(obj.toString());}} catch (final Exception ex) {result = new Integer(0);}return result;}/*** @param obj* Double* @return Double* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static Double nullToDoubleZero(final Double obj) {Double result = new Double(0);if (obj == null) {result = new Double(0);} else {final DecimalFormat format = new DecimalFormat("#.000");result = new Double(format.format(obj));}return result;}/*** @param obj* Object* @return Double* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static Double nullToDoubleZero(final Object obj) {Double result = new Double(0);try {if (obj == null) {result = new Double(0);} else {result = new Double(obj.toString());}} catch (final Exception e) {}return result;}/*** 将对像转换成Float类型,当对像为空时返回0* .* * @param obj* @return* @author lovem* 2018-06-17 lovem*/public static Float nullToFloatZero(final Object obj) {Float result = new Float(0);try {if(obj != null){result = Float.valueOf(obj.toString());}} catch (final Exception e) {}return result;}/*** 方法功能:* 转换大Long为int .* @param lon 输入大Long* @return int 返回int* @author: lovem* @修改记录: * ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*/public static int toInt(Long lon) {int lpResult = 0;try {if (lon == null) {lpResult = 0;} else {lpResult = lon.intValue();}} catch (final NumberFormatException nfe) {}return lpResult;}/*** 根据密码长度和是否包含字母参数来生成随机码.* * @param length 长度* @param hasLetter 是否包含字母* @return 随机密码* @author lovem* 2018-06-17 lovem */public static String getRandomCode(int length, boolean hasLetter) {StringBuffer sb = new StringBuffer();for (int i = 0; i < length; i++) {double random = Math.random();if (hasLetter && random < 0.5 ) {Double d = new Double(random * letters.length);sb.append(letters[d.intValue()]);} else {Double d = new Double(random * numbers.length);sb.append(numbers[d.intValue()]);}}return sb.toString();}/*** @param args* String* @author: lovem* @修改记录: ==============================================================<br>* 日期:2018-06-17 lovem 创建方法,并实现其功能* ==============================================================<br>*//** public static void main(String args[]) { NumericUtil a = new* NumericUtil(); BigDecimal big = new BigDecimal(123456.12345); }*/}
NumbericUtil工具类(实现数字及数字格式化的基本功能:精确的加减乘除法、金额数字转 成中文等。)相关推荐
- Python正则表达式工具类文件的封装实例,提供了多个实例,并且在代码中包含中文注释
Python正则表达式工具类文件的封装实例,提供了多个实例,并且在代码中包含中文注释 import reclass RegexUtils:'''正则表达式工具类'''def __init__(self ...
- 将用户输入的金额转写成中文的大写数字 c++
#include <iostream> #include <string> using namespace std; // 表示整数部分的标志 const int INT_ON ...
- js 数字金额大小写转换成中文大写
function Arabia_to_Chinese(Num) {for(i=Num.length-1;i>=0;i--){Num = Num.replace(",",&qu ...
- PHP实现数字金额轻松转成中文繁体大写
if (!function_exists('rmb_capital')) {/*** 金额转中文大写** @param mixed $amount* @return string*/function ...
- NumberFormat(数字格式化类)+工具类
数值格式化 getInstance().getNumberInstance().返回当前默认语言环境的通用数值格式. getInstance(Locale).getNumberInstance(Loc ...
- Java 数字数组随机数工具类 NumberUtils、ArrayUtils、RandomUtils用法
一.NumberUtils工具类 org.apache.commons.lang3.math.NumberUtils /1.NumberUtils.isNumber():判断字符串是否是数字/ Num ...
- Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类
在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...
- ( 持续更新,目前含 200+ 工具类 ) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。
DevUtils GitHub About ( 持续更新,目前含 200+ 工具类 ) Roadmap DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 ...
- 根据人民币大写规则写的java工具类
需求场景:传入一个数字,把它转成人民币大写. 先看下人民币大写规则: 一.人民币大写金额数字到"元"为止的.在"元"之后.应写"整"(或&q ...
最新文章
- 软件测试培训分享:性能测试的目的是什么
- 一文彻底搞懂 zookeeper 核心知识点(修订版)
- 极客新闻——19、如何从单体架构平滑过渡到微服务
- Service应用场景分析
- android adb端口被占用问题解决办法
- html table 表格 行合并 列合并
- 亲测有用的音乐推荐网站
- Oracle10gR5GridControl InstallOnLinux
- Practice 10
- Vquery PHP 简单爬虫类
- Jquery的validate表单验证
- Machine Learning Concepts
- 如何重置HDX卡的固件(firmware)
- 经典网络DenseNet介绍
- (强烈推荐)无线网络密码破解方法
- C#编程之SqlHelper
- ORL人脸数据库matlab,orl ORL人脸数据库,用于图形图像处理,对新接触MATLAB的人来说是一个很好用而且比较简单 238万源代码下载- www.pudn.com...
- 饿了么api接口 php,饿了么美团开放平台接入
- 1378Problem A:zyf的字符统计
- 作为一个大学才开始入门学计算机编程的孩子想要的东西-----听我扯,你蛋疼,他菊紧,我开心
热门文章
- CentOS8_CA
- 相机快门音量大小适配
- python3 租房信息
- 台湾品牌获得东京威士忌烈酒竞赛2020最佳单一麦芽威士忌总冠军
- android 字节转wav,android开发:把一个byte数组转换成wav音频文件,并且播放
- java的sqlserver连库信息 包括增删改查 分页查询
- Wireshark抓包定位系统网页响应慢的问题
- 基金前15大重仓股持仓股排名
- nokia6android9,诺基亚6.1推送Android 9.0:Nokia 7.1 Plus更新马上就来
- linux培训好还是自学好,Linux培训好还是自学好,该怎么判断自己适合哪种方式?...