当前位置: 技术问答>java相关
请教如何设置Double 的格式?double = 10.66666667,如何取得小数点后2 位的数值?
来源: 互联网 发布时间:2015-06-17
本文导语: 谢谢。 | 我给人下方法给你: import java.text.DecimalFormat; public String roundUp(double d, String RoundFormat) { DecimalFormat nf = new DecimalFormat(RoundFormat); return nf.format(d); } parseDouble(Stri...
谢谢。
|
我给人下方法给你:
import java.text.DecimalFormat;
public String roundUp(double d, String RoundFormat)
{
DecimalFormat nf = new DecimalFormat(RoundFormat);
return nf.format(d);
}
parseDouble(String s)
如果是两位小数:
double f = 10.66666667;
f=Double.parseDouble(roundUp(f,"0.00"))
f-->10.67
import java.text.DecimalFormat;
public String roundUp(double d, String RoundFormat)
{
DecimalFormat nf = new DecimalFormat(RoundFormat);
return nf.format(d);
}
parseDouble(String s)
如果是两位小数:
double f = 10.66666667;
f=Double.parseDouble(roundUp(f,"0.00"))
f-->10.67
|
试用setScale方法可以达到这个目的,如下:
double f = 10.66666667;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
则f1即为所求
b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数
上面是对double类型的处理,如果对float的,则将上面所有的double字段换成float就行
double f = 10.66666667;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
则f1即为所求
b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数
上面是对double类型的处理,如果对float的,则将上面所有的double字段换成float就行
|
少了個小數點
最簡單
double f = 10.6666666667;
f = Math.round(f*100)/100.0;
最簡單
double f = 10.6666666667;
f = Math.round(f*100)/100.0;