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

java从入门到精髓 - 数字处理类

2010-08-28 21:21 435 查看
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
}

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