java double保留小数点的零的问题
System.out.println(Double.parseDouble(“1.20”));打印结果是:1.2,怎样打印出1.20...
System.out.println(Double.parseDouble(“1.20”));
打印结果是:1.2,怎样打印出1.20 展开
打印结果是:1.2,怎样打印出1.20 展开
7个回答
2016-01-01 · 知道合伙人互联网行家
关注
展开全部
java中double类型变量保留小数问题大体分两种情况:
(一):小数点后面位数过长,四舍五入保留指定位数:
可以用以下代码实现:
public class TestDemo {
public static void main(String[] args) {
double a=15.32743859;
double b=Math.round(a*10000)/10000.0000;//保留四位小数
System.out.println(b);
}
}
想保留n位小数,就Math.round(a*10的n次方)/10的n次方.n个0。
(二):如果小数点后末位为0,myeclipse中不予显示,如
double a=15.80;
System.out.print(a);
则在控制台中输出的结果是15.8。
(一):小数点后面位数过长,四舍五入保留指定位数:
可以用以下代码实现:
public class TestDemo {
public static void main(String[] args) {
double a=15.32743859;
double b=Math.round(a*10000)/10000.0000;//保留四位小数
System.out.println(b);
}
}
想保留n位小数,就Math.round(a*10的n次方)/10的n次方.n个0。
(二):如果小数点后末位为0,myeclipse中不予显示,如
double a=15.80;
System.out.print(a);
则在控制台中输出的结果是15.8。
展开全部
DecimalFormat df = new DecimalFormat("0.00");
double d = 123.9078;
double db = df.format(d);
则db=123.90;
double d = 123.9078;
double db = df.format(d);
则db=123.90;
追问
df.format(d);返回不是String么?0。0非得使用double来接受1.20,能打印出1.20么
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用DecimalFormat格式化,
DecimalFormat df=new DecimalFormat("0.00");
System.out.println(df.format(1.2));
DecimalFormat df=new DecimalFormat("0.00");
System.out.println(df.format(1.2));
追问
如果非得要使用double类型呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串相加当然数字是连在一起的,把字符串转换为double型Double.parseDouble(字符串),字符串num修改为double型.
就OK了!
就OK了!
追问
打印double时最后的零怎么保存下来呢?不大懂额
追答
DecimalFormat myFormatter = new DecimalFormat("####.#");
myFormatter.format(double); //注意,这句整体作为String
也可以
String str = double.toString();
str = str.substring(0,str.indexOf(".")+2);
或者
String result = String .format("%.2f");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要精度可以选择用BigDecimal
追问
如果非得要使用double类型如果非得要使用double类型呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询