A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

怎么算2/3然后要求值是小数保留两位小数呢?

3 个回复

倒序浏览
本帖最后由 iWilliam 于 2014-6-20 17:35 编辑

不多说,先上代码~

  1. import java.text.DecimalFormat;

  2. public class Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 double val1 = compute1(2, 3);
  7.                 System.out.println(val1);

  8.                 double val2 = compute2(2, 3);
  9.                 System.out.println(val2);
  10.         }
  11.         public static double compute1(int x, int y)
  12.         {
  13.                 return Double.parseDouble(new DecimalFormat("#.00").format(1.0 * x / y));
  14.         }
  15.         public static double compute2(int x, int y)
  16.         {
  17.                 return Double.parseDouble(String.format("%.2f", 1.0 * x / y));
  18.         }
  19. }
复制代码
控制台输出:
0.67
0.67


这里提供了两种比较简单的方法
其中:
1.0默认是double类型的,所以1.0 * x会自动提升,也是double,1.0 * x / y当然也是double类型
然后记住这个类DecimalFormat
DecimalFormat 模式具有下列语法:
模式:正数模式正数模式负数模式正数模式:前缀opt 数字后缀opt负数模式:前缀opt 数字后缀opt前缀:除 \uFFFE、\uFFFF 和特殊字符以外的所有 Unicode 字符后缀:除 \uFFFE、\uFFFF 和特殊字符以外的所有 Unicode 字符数字:整数指数opt整数小数指数opt整数:最小整数         ## 整数# , 整数最小整数:         00 最小整数0 , 最小整数小数:最小小数opt 可选小数opt最小小数:0 最小小数opt可选小数:# 可选小数opt指数:E 最小指数最小指数:0 最小指数opt

详细可参考API

另外一个String.format
同样,可以在API中先找到String,然后具体看format用法


希望能帮到你~

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
iWilliam 发表于 2014-6-20 17:33
不多说,先上代码~
控制台输出:
0.67

先感谢!
回复 使用道具 举报

加油哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马