本帖最后由 iWilliam 于 2014-6-20 17:35 编辑
不多说,先上代码~
- import java.text.DecimalFormat;
- public class Test
- {
- public static void main(String[] args)
- {
- double val1 = compute1(2, 3);
- System.out.println(val1);
- double val2 = compute2(2, 3);
- System.out.println(val2);
- }
- public static double compute1(int x, int y)
- {
- return Double.parseDouble(new DecimalFormat("#.00").format(1.0 * x / y));
- }
- public static double compute2(int x, int y)
- {
- return Double.parseDouble(String.format("%.2f", 1.0 * x / y));
- }
- }
复制代码 控制台输出:
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用法
希望能帮到你~
|