百度
360搜索
搜狗搜索

java bigdecimal保留两位小数,java、怎样简便的保留小数点后两位。详细介绍

本文目录一览: Java计算中,如何设定小数点保留位数

方式一:
四舍五入
double
f
=
111231.5585;
BigDecimal
b
=
new
BigDecimal(f);
double
f1
=
b.setScale(2,
BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
方式二:
java.text.DecimalFormat
df
=new
java.text.DecimalFormat(”#.00″);
df.format(你要格式化的数字);
例:new
java.text.DecimalFormat(”#.00″).format(3.1415926)
#.00
表示两位小数
#.0000四位小数
以此类推…
方式三:
double
d
=
3.1415926;
String
result
=
String
.format(”%.2f”);
%.2f
%.
表示
小数点前任意位数
2
表示两位小数
格式后的结果为f
表示浮点型。

bigdecimal multiply 怎么保留2位小数?

BigDecimal b=new BigDecimal(0);
b.multiply(new BigDecimal(0)).setScale(2,BigDecimal.ROUND_HALF_UP);
一、简介
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
二、构造器描述
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
三、方法描述
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回。
四、常用方法
保留两位小数

如何把java得出的数值,保留小数点2位四舍五入

c = Math.round(c*100)/100
// 方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
// 方式二:
new java.text.DecimalFormat("#.00").format(3.1415926);
// #.00 表示两位小数 #.0000四位小数 以此类推…
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0

java String转bigdecimal 精确两位小数点

String s="125.671";
BigDecimal b = new BigDecimal(s);
b=b.setScale(2, BigDecimal.ROUND_DOWN); //小数位 直接舍去
//b=b.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入

//BigDecimal add(BigDecimal augend)
//BigDecimal subtract(BigDecimal subtrahend)
//BigDecimal multiply(BigDecimal multiplicand)
//BigDecimal divide(BigDecimal divisor)
BigDecimal c = b.add(nwe BigDecimat("763.21"));
String s="125.671"。BigDecimal b = new BigDecimal(s)。
String s="125.671";
BigDecimal b = new BigDecimal(s);
b=b.setScale(2, BigDecimal.ROUND_DOWN); //小数位 直接舍去
//b=b.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入
//BigDecimal add(BigDecimal augend)
//BigDecimal subtract(BigDecimal subtrahend)
//BigDecimal multiply(BigDecimal multiplicand)
//BigDecimal divide(BigDecimal divisor)
BigDecimal c = b.add(nwe BigDecimat("763.21"));

java、怎样简便的保留小数点后两位。

用这个吧
DecimalFormat df = new DecimalFormat(".00");
.00就表示保留后两位数
然后df.format();就ok啦
感觉用BigDecimal最方便,只要改下数值,想保留几位都很方便
Double i = 3.3333;
BigDecimal bg = new BigDecimal(i);
double j = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
NumberFormat fmt = NumberFormat.getNumberInstance() ; fmt.setMaximumFractionDigits(2); String s = fmt.format(x) ; System.out.print(s);
DecimalFormat df = new DecimalFormat(".00");
有两种情况:
1、只要输出结果的时候可以用以下方法:
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));
结果:0.03
2、使用数据转换(4种方法)
//方案一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal bd2 = bd.setScale(2,BigDecimal .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());

阅读更多 >>>  linux查看java环境变量,linux java环境变量查看

java中保留两位小数并要求四舍五入的方法

我给你提供一个思路,可能不太高明,不过得过。
把你的数×100,%5,判断,/100,搞定。
double d=2.345;//格式化为StringString str=String.format("%.2f",d);System.out.println(str);//如果需要数字,可以再d = Double.parseDouble(str)//////////////BigDecimal bd=new BigDecimal("2.345");//建议使用String参数BigDecimal bd_half_even = bd.setScale(2,RoundingMode.HALF_EVEN);BigDecimal bd_half_up = bd.setScale(2,RoundingMode.HALF_UP);System.out.println(bd_half_even);System.out.println(bd_half_up);//HALF_EVEN,HALF_UP是两种不同的四舍五入机制//BigDecimal默认使用HALF_EVEN//HALF_UP的效果就是经典的四舍五入//HALF_EVEN是最科学的四舍五入,但结果和HALF_UP可能会不同

请问java提供什么方法实现将一个浮点数,四舍五入只保留小数点后两位

(float)Math.round(yournum*100)/100;
yournum 就是你给出的浮点数,然后执行这句话就是你要的结果。以后提问题最好给点悬赏分。
需要你进行格式化一下:
String parten = "#.##";
DecimalFormat decimal = new DecimalFormat(parten);
String str= decimal.format(你要格式化的东西);
比如:
float a = (float)1.123;
DecimalFormat decimal = new DecimalFormat("#.##");
String result = decimal.format(""+a);
这样result就等于1.12了
第一:从数据库读出时可以进行操作,将读出的数据进行处理后输出,这里可以用数据库提供的方法。这里不多提。
第二:也可以用JAVA进行处理,方法很多。
这里说两种吧:
第一
BigDecimal bd = new BigDecima("5.14881");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println(bd);
第二
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
public static void main(String[] args) {
// BigDecimal bd = new BigDecimal("3.14159265");
// bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
double bd = convert(3.14559);
System.out.println(bd);
}

Java:对double值进行四舍五入,保留两位小数的几种方法

可以四舍五入,也可以直接截断。
比如:输入12345.6789,输出可以是12345.68也可以是12345.67。至于是否需要四舍五入,可以通过参数来决定(RoundingMode.UP/RoundingMode.DOWN等参数)。
2. 实现代码packagecom.clzhang.sample;importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.text.DecimalFormat;importjava.text.NumberFormat;publicclassDoubleTest {/**
* 保留两位小数,四舍五入的一个老土的方法*@paramd*@return*/publicstaticdoubleformatDouble1(doubled) {return(double)Math.round(d*100)/100;}/**
* The BigDecimal class provides operations for arithmetic, scale manipulation, rounding, comparison, hashing, and format conversion.*@paramd*@return*/publicstaticdoubleformatDouble2(doubled) {//旧方法,已经不再推荐使用//BigDecimal bg = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP);//新方法,如果不需要四舍五入,可以使用RoundingMode.DOWN
BigDecimal bg =newBigDecimal(d).setScale(2
, RoundingMode.UP);returnbg.doubleValue();}/**
* NumberFormat is the abstract base class for all number formats.
* This class provides the interface for formatting and parsing numbers.*@paramd*@return*/publicstaticString formatDouble3(doubled) {NumberFormat nf=NumberFormat.getNumberInstance();//保留两位小数
nf.setMaximumFractionDigits(2);//如果不需要四舍五入,可以使用RoundingMode.DOWN
nf.setRoundingMode(RoundingMode.UP);returnnf.format(d);}/**
* 这个方法挺简单的。
* DecimalFormat is a concrete subclass of NumberFormat that formats decimal numbers.*@paramd*@return*/publicstaticString formatDouble4(doubled) {DecimalFormat df=newDecimalFormat("#.00");returndf.format(d);}/**
* 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。

Java里面怎么格式化Double变量为保留小数点后二位小数呀

你使用java.text.DecimalFormat格式化就可以!
http://www.oschina.net/home/apidoc?api=javase-6-doc-api-zh_CN
DecimalFormat df = new DecimalFormat("###,###.00");
double s = 12.12121;
System.out.println(df.format(s));
用String类的格式化比较方便点
Double s = 23.43432;
String s1 = String.format("%.2f", s);
最后返回的是一个String的s1,若还是想用double类型,可以用Double.valueOf(s1);再转换一次即可

网站数据信息

"java bigdecimal保留两位小数,java、怎样简便的保留小数点后两位。"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:java bigdecimal保留两位小数,java、怎样简便的保留小数点后两位。的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!