//#1
public double round(double in) {
double dec = in - (int)in;
double out = dec >= 0.5 ?
(int)i + ((int)((dec - 0.5) / 0.25)) * 0.5 + 0.5 :
(int)i + ((int)(dec / 0.25)) * 0.5;
return out;
}
//Math.round()。(仅适用于对十分位做四舍五入)
public double round(double in) {
double in2 = Math.round(2 * in);
return d / 2;
}
//#3.BigDecimal的实例方法setScale(int newScale, int roundingMode)
public double round(double in) {
BigDecimal in2 = BigDecimal.valueOf(2 * in);
//0:保留0位小数
//BigDecimal.ROUND_HALF_UP:五入
return dec.setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue() / 2;
}