# BigDecimal 小问题

gaojava 2010-04-01 11:26:21
``````
double pr =0.056;
BigDecimal  bd=new  BigDecimal(Double.toString(pr));
bd.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bd.doubleValue()); //0.056

double pr =0.056;
BigDecimal  bd=new  BigDecimal(Double.toString(pr)).setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bd.doubleValue());//0.06

``````

...全文
147 7 打赏 收藏 转发到动态 举报

7 条回复

jimyx123 2010-04-01
• 打赏
• 举报

if (scale == this.scale)
return this;

Dazzlingwinter 2010-04-01
• 打赏
• 举报

``````
public class BigDecimalTest {
public static void main(String[] args) {
double pr = 0.056;
BigDecimal bd = new  BigDecimal(Double.toString(pr));
System.out.println(bd.doubleValue());
bd.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd.doubleValue());
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd.doubleValue());
}
}
/*
0.056
0.056
0.06
*/
``````
jimyx123 2010-04-01
• 打赏
• 举报

bd.setScale(2,BigDecimal.ROUND_HALF_UP);

gaojava 2010-04-01
• 打赏
• 举报

[Quote=引用 3 楼 dazzlingwinter 的回复:]
Java code

import java.math.BigDecimal;

public class BigDecimalTest {
public static void main(String[] args) {
double pr =0.056;
BigDecimal bd=new BigDecimal(Double.toS……
[/Quote]

Dazzlingwinter 2010-04-01
• 打赏
• 举报

``````
import java.math.BigDecimal;

public class BigDecimalTest {
public static void main(String[] args) {
double pr =0.056;
BigDecimal  bd=new  BigDecimal(Double.toString(pr));
bd.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bd.doubleValue()); //0.056

double pr1 =0.056;
BigDecimal  bd1=new  BigDecimal(Double.toString(pr)).setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bd.doubleValue());//0.06

}
}
/*
0.056
0.056
*/

``````
gaojava 2010-04-01
• 打赏
• 举报

[Quote=引用 1 楼 dazzlingwinter 的回复:]

[/Quote]

Dazzlingwinter 2010-04-01
• 打赏
• 举报

62,622

• 近7日
• 近30日
• 至今