JAVA中小数点后保留两位的方法有哪些
来源:才华咖 本文已影响1.15W人
来源:才华咖 本文已影响1.15W人
相信大家在平时做项目时,可能会有这样的业务需求:页面或界面上展示的数据保留小数点后两位。 JAVA中小数点后保留两位的方法有哪些?下面本站小编带大家一起来看看详细内容,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!
1.代码:
import ecimal;
import malFormat;
import erFormat;
public class format {
double f = 111231.5585;
public void m1() {
BigDecimal bg = new BigDecimal(f);
double f1 = cale(2, D_HALF_UP)leValue();
tln(f1);
}
/**
* DecimalFormat转换最简便
*/
public void m2() {
DecimalFormat df = new DecimalFormat("#.00");
tln(at(f));
}
/**
* at打印最简便
*/
public void m3() {
tln(at("%.2f", f));
}
public void m4() {
NumberFormat nf = umberInstance();
aximumFractionDigits(2);
tln(at(f));
}
public static void main(String[] args) {
format f = new format();
f.m1();
f.m2();
f.m3();
f.m4();
}
}
2.输出结果:
111231.56
111231.56
111231.56
111,231.56
这里我们提供了一个工具类,定义浮点数的加、减、乘、除和四舍五入等运算方法。以供参考。
源文件:
import ecimal;
public class MathExtend
{
//默认除法运算精度
private static final int DEFAULT_p_SCALE = 10;
/**
* 提供精确的加法运算。
* @param v1
* @param v2
* @return 两个参数的和
*/
public static double add(double v1, double v2)
{
BigDecimal b1 = new BigDecimal(ring(v1));
BigDecimal b2 = new BigDecimal(ring(v2));
return (b2)leValue();
}
/**
* 提供精确的加法运算
* @param v1
* @param v2
* @return 两个参数数学加和,以字符串格式返回
*/
public static String add(String v1, String v2)
{
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
return (b2)ring();
}
/**
* 提供精确的减法运算。
* @param v1
* @param v2
* @return 两个参数的差
*/
public static double subtract(double v1, double v2)
{
BigDecimal b1 = new BigDecimal(ring(v1));
BigDecimal b2 = new BigDecimal(ring(v2));
return ract(b2)leValue();
}
/**
* 提供精确的减法运算
* @param v1
* @param v2
* @return 两个参数数学差,以字符串格式返回
*/
public static String subtract(String v1, String v2)
{
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
return ract(b2)ring();
}
/**
* 提供精确的乘法运算。
* @param v1
* @param v2
* @return 两个参数的积
*/
public static double multiply(double v1, double v2)
{
BigDecimal b1 = new BigDecimal(ring(v1));
BigDecimal b2 = new BigDecimal(ring(v2));
return iply(b2)leValue();
}
/**
* 提供精确的乘法运算
* @param v1
* @param v2
* @return 两个参数的数学积,以字符串格式返回
*/
public static String multiply(String v1, String v2)
{
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
return iply(b2)ring();
}
/**
* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
* 小数点以后10位,以后的数字四舍五入,舍入模式采用ROUND_HALF_EVEN
* @param v1
* @param v2
* @return 两个参数的商
*/
public static double pide(double v1, double v2)
{
return pide(v1, v2, DEFAULT_p_SCALE);
}
/**
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
* 定精度,以后的数字四舍五入。舍入模式采用ROUND_HALF_EVEN
* @param v1
* @param v2
* @param scale 表示需要精确到小数点以后几位。
* @return 两个参数的商
*/
public static double pide(double v1,double v2, int scale)
{
return pide(v1, v2, scale, D_HALF_EVEN);
}
/**
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
* 定精度,以后的数字四舍五入。舍入模式采用用户指定舍入模式
* @param v1
* @param v2
* @param scale 表示需要精确到小数点以后几位
* @param round_mode 表示用户指定的舍入模式
* @return 两个参数的商
*/
public static double pide(double v1,double v2,int scale, int round_mode){
if(scale < 0)
{
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(ring(v1));
BigDecimal b2 = new BigDecimal(ring(v2));
return (b2, scale, round_mode)leValue();
}
/**
* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
* 小数点以后10位,以后的数字四舍五入,舍入模式采用ROUND_HALF_EVEN
* @param v1
* @param v2
* @return 两个参数的商,以字符串格式返回
*/
public static String pide(String v1, String v2)
{
return pide(v1, v2, DEFAULT_p_SCALE);
}
/**
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
* 定精度,以后的数字四舍五入。舍入模式采用ROUND_HALF_EVEN
* @param v1
* @param v2
* @param scale 表示需要精确到小数点以后几位
* @return 两个参数的商,以字符串格式返回
*/
public static String pide(String v1, String v2, int scale)
{
return pide(v1, v2, DEFAULT_p_SCALE, D_HALF_EVEN);
}
/**
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
* 定精度,以后的数字四舍五入。舍入模式采用用户指定舍入模式
* @param v1
* @param v2
* @param scale 表示需要精确到小数点以后几位
* @param round_mode 表示用户指定的舍入模式
* @return 两个参数的商,以字符串格式返回
*/
public static String pide(String v1, String v2, int scale, int round_mode)
{
if(scale < 0)
{
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
return (b2, scale, round_mode)ring();
}
/**
* 提供精确的小数位四舍五入处理,舍入模式采用ROUND_HALF_EVEN
* @param v 需要四舍五入的'数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
public static double round(double v,int scale)
{
return round(v, scale, D_HALF_EVEN);
}
/**
* 提供精确的小数位四舍五入处理
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @param round_mode 指定的舍入模式
* @return 四舍五入后的结果
*/
public static double round(double v, int scale, int round_mode)
{
if(scale<0)
{
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(ring(v));
return cale(scale, round_mode)leValue();
}
/**
* 提供精确的小数位四舍五入处理,舍入模式采用ROUND_HALF_EVEN
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果,以字符串格式返回
*/
public static String round(String v, int scale)
{
return round(v, scale, D_HALF_EVEN);
}
/**
* 提供精确的小数位四舍五入处理
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @param round_mode 指定的舍入模式
* @return 四舍五入后的结果,以字符串格式返回
*/
public static String round(String v, int scale, int round_mode)
{
if(scale<0)
{
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(v);
return cale(scale, round_mode)ring();
}
}
Java认证考试知识点:JavaSE6的新功能
Java语言常见的知识点混淆问题有哪些
java常见的语法错误有哪些
Java面试题UML中有哪些常用的图
经典Java面试题之Java中Char类型的运算
JAVA中IP和整数相互转化的方法
Java中类的设计技巧有哪些
Java基本数据类型有哪些
Java语言中方法之间数据传递的探讨
使用ajax操作JavaScript对象的方法
Java中的运算符有哪些
初中英语学习方法有哪些
Javascript时间格式format函数的两种使用方法
Java未来的发展方向有哪些
java命令行引用jar包的方法
Java认证辅导:Java实现二叉树遍历算法
法国留学医保特点有哪些
Java程序中使用浮点数和小数的技巧
高二数学的复习方法有哪些
33900保留两位小数
Java常用第三方软件包有哪些
Javascript中的数学函数方法
javascript的小数点乘法除法实例
关于java实现线程同步的方式有哪些
java与javascript之间json格式数据互转详解