您的位置:首页 > 编程语言 > Java开发

Java从入门到精通 - Java数字处理类

2010-08-25 21:25 393 查看
import java.text.DecimalFormat;
import java.util.Random;

public class DecimalFormatDemo {
 /**
  * 简单格式化
  * @param pattern
  * @param value
  */
 public static void  SimpleFormat(String pattern,double value)
 {
  DecimalFormat myFormat = new DecimalFormat(pattern);
  String output = myFormat.format(value);
  System.out.println(value + " "+ pattern + " "+ output);
 }
 
 /**
  * 使用applyPattern()方法对数字进行格式化
  * @param pattern
  * @param value
  */
 static public void UseApplyPatternMethodFormat(String pattern,double value)
 {
  DecimalFormat myFormat = new DecimalFormat();
  myFormat.applyPattern(pattern);
  System.out.println(value + ": "+ pattern + ": "+ myFormat.format(value));
 }
 /**
  * 获得num1~num2之间的偶数
  * @param num1
  * @param num2
  * @return
  */
    public static int GetEventNum(double num1,double num2)
    {
     int s = (int)num1 + (int)(Math.random()*(num2-num1));
     if(s%2 == 0)
     {
      return s ;
     }
     else
     {
      return s+1;
     }
    }
    /**
     * 生成由char1~char2之间的字母
     * @param char1
     * @param char2
     * @return
     */
    public static char GetRandomChar(char char1,char char2)
    {
     return (char)(char1+Math.random()*(char2-char1+1));
    }
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
   SimpleFormat("###,###.###",123456.789);
   SimpleFormat("000000000.###kg",123456.789);
   //按照模板格式化数字,不存在的位以0表示
   SimpleFormat("000000.000",123.78);
   //调用applyPattern
   UseApplyPatternMethodFormat("#.###%",0.789);
   UseApplyPatternMethodFormat("###.##",123456.789);
   UseApplyPatternMethodFormat("000/u2030",0.789);
  
    //数学运算:
   System.out.println("90度正弦:"+Math.sin(Math.PI/2));
   System.out.println("0度余弦:"+Math.cos(0));
   System.out.println("60度正切值:"+Math.tan(Math.PI/3));
   //取2的平方根与2的商的反正弦
   System.out.println(Math.asin(Math.sqrt(2)/2));
   //反余弦:
   System.out.println(Math.acos(Math.sqrt(2)/2));
   System.out.println("1的反正切值:"+Math.atan(1));
   System.out.println("120度的弧度值:"+Math.toRadians(120.0));
      System.out.println("兀/2的角度值:"+Math.toDegrees(Math.PI/2));
      //指数函数:
      System.out.println("e的平方值:"+ Math.exp(2));
      System.out.println("以3为底的2的对数:"+Math.log(2));
      System.out.println("以10为底的2的对数:"+Math.log10(2));
      System.out.println("4的平方根:"+Math.sqrt(4));
      System.out.println("8的立方根:"+Math.cbrt(8));
      System.out.println("2的2次方"+Math.pow(2,2));
   //取值取整函数:
      System.out.println("使用ceil()方法:"+Math.ceil(5.2));  //返回第一个大于等于参数的整数:
      System.out.println("使用floor()方法:"+Math.floor(2.5));//返回第一个小于等于参数的整数:
      System.out.println("使用rint()方法"+Math.rint(2.7)); //返回与参数接近的整数
      System.out.println("使用rint()方法:"+Math.rint(2.5));//返回与参数接近的整数
      System.out.println("使用round()方法:"+Math.round(3.4f));//将参数加上0.5后返回最接近的整数:
      System.out.println("使用round()方法:"+Math.round(2.5));//将参数加上0.5后返回最接近的整数,并将结果强制转换为长整形
   //最大值,最小值,绝对值:
      System.out.println("4和8较大者:"+Math.max(4, 8));
      System.out.println("4.4与4较小者:"+Math.min(4.4, 4));
      System.out.println("-7绝对值:"+Math.abs(-7));
   //随机数:
      System.out.println("任意一个2~32之间的偶数:"+GetEventNum(2,32));
      //随机生成字母:(char)('a'+Math.random()*('z'-'a'+1));
      System.out.println("任意小写字符:" + GetRandomChar('a','z'));
      System.out.println("任意大写字符:" + GetRandomChar('A','Z'));
      //获得0~9之间的所有字符:
      System.out.println("0~9之间的任意:"+GetRandomChar('0','9'));
 //Random类 System.out.println("");
      Random r = new Random();
      //随机生成一个整数:
      System.out.println("随机生成一个整数:"+r.nextInt());
      //随机生成一个大于等于0小于10的整数:
      System.out.println("随机生成一个大于等于0小于10的整数:"+r.nextInt(10));
      System.out.println("产生一个布尔型:"+r.nextBoolean());
      System.out.println("产生一个双精度值:"+r.nextDouble());
      System.out.println("产生一个浮点类型:"+r.nextFloat());
      System.out.println("产生一个概率密度为高斯分布的双精值:"+r.nextGaussian());
 //大数字:
      //BigInteger //BigDecimal
 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息