您的位置:首页 > 编程语言 > Java开发

JAVA-保留两位小数的方法

2017-07-24 14:17 344 查看
JAVA-保留两位小数的方法

package Text;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class tset {

/**
* 保留两位小数,四舍五入的一个老土的方法
* @param d
* @return
*/
public static double formatDouble1(double d) {
return (double)Math.round(d*100)/100;
}

public static double formatDouble2(double d) {
BigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP);

return bg.doubleValue();
}

public static String formatDouble3(double d) {
NumberFormat nf = NumberFormat.getNumberInstance();

// 保留两位小数
nf.setMaximumFractionDigits(2);

// 如果不需要四舍五入,可以使用RoundingMode.DOWN
nf.setRoundingMode(RoundingMode.UP);

return nf.format(d);
}

public static String formatDouble4(double d) {
DecimalFormat df = new DecimalFormat("#.00");

return df.format(d);
}
/**
* 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。
* 应该是这样使用:System.out.println(String.format("%.2f", d));
* @param d
* @return
*/
public static String formatDouble5(double d) {
return String.format("%.2f", d);
}

public static void main(String[] args) {

double dd = 0.656;

System.out.println(formatDouble1(dd));
System.out.println(formatDouble2(dd));
System.out.println(formatDouble3(dd));
System.out.println(formatDouble4(dd));
System.out.println(formatDouble5(dd));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: