方式1:被除数转double后,除以除数,结果是一个double类型的数,将double结果按要求保留n位小数即可. 保留n位小数的写法 int a = 10; int b = 3; double res = new BigDecimal((double) a / b).setScale(2, RoundingMode.HALF_UP).doubleValue(); 方式2: 直接使用BigDecimal进行运算 int a = 10; int b = 3; BigDecimal bigA =
//整数相除 保留一位小数 public static String division(int a ,int b){ String result = ""; float num =(float)a/b; DecimalFormat df = new DecimalFormat("0.0"); result = df.format(num); return result; }
先来看一个例子: package com.test; public class calculate { /** * 光速30万公里/秒 */ public static final int LIGHT_SPEED = 30 * 10000 * 1000; public static void main(String[] args) { System.out.println("月光照射到地球的时间为1秒,计算地球距离月球的距离"); int month2earth = LIGHT_SPE
/********************************************************************* * Author : Samson * Date : 09/19/2014 * Test platform: * Linux ubuntu 3.2.0-58-generic-pae * GNU bash, version 4.2.39 * ***********************
1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合ArrayList<Integer> list = new ArrayList<Integer>();list.add(1);list.add(3);list.add(5);list.add(7);// 遍历List方法1,使用普通for循环:for (int i = 0; i <
这个题貌似完全颠覆一般的Logic:交换两个整数需要一个额外的空间用于保存: t = b; b = a; a = t; 粗看上去似乎没有办法,但是仔细想一下,既然不能用额外的空间,那么能用的方法就只有数学方法,也许有效,那么第一个想法就是用A+b看看,稍微想一下就可以得到下面这个解法: a = a + b; b = a - b; a = a - b; 这种方法会有问题,a+b有可能溢出,但异或就不会有溢出问题. 还有更绝的(由DxZ网友提供): a = a ^ b;b = a ^ b;a