谈谈-----数字格式化操作与大数(整数、浮点数)操作
来源:互联网 发布:linux删除用户和用户组 编辑:程序博客网 时间:2024/06/17 18:58
NumberFormat类
①NumberFormat类是Format的子类,同时也是一个抽象类。
②NumberFormat类数字格式基本都是根据区域码所固定的,灵活性较差。
DecimalFormat
①DecimalFormat类是NumberFormat类的子类。
②DecimalFormat类可以自定义格式化操作,操作更简单。
NumberFormat类进行数字的格式化操作:
package demo; import java.text.NumberFormat;import java.util.Locale; public class NumberFormatDem001 { /** * @param args */ publicstatic void main(String[] args) { //TODO Auto-generated method stub NumberFormatnf = null; nf= NumberFormat.getInstance(); // 得到默认的数字格式显示 System.out.println("格式化之后的数字:"+ nf.format(1000000)); System.out.println("格式化之后的数字:"+ nf.format(1000.345)); } }
DecimalFormat类进行格式化数字:
package demo; import java.text.DecimalFormat; public classFormatDemo { public void format1(String pattern,doublevalue) { DecimalFormatdf = null; // 声明一个DecimalFormat对象 df= newDecimalFormat(pattern); Stringstr = df.format(value); System.out.println("使用" + pattern + "格式化数字" + value + ": " + str); }}
package demo; public classNumberFormatDemo02 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub FormatDemodemo = newFormatDemo(); demo.format1("###,###.###",111222.34567); demo.format1("000,000.000",11222.34567); demo.format1("###,###.###\u00A4",111222.34567); demo.format1("000,000.000\u00A4",11222.34567); demo.format1("##.###%",0.345678); // 使用百分数形式 demo.format1("00.###%",0.0345678); // 使用百分数形式 demo.format1("###.###\u2030",0.345678); // 使用千分数形式 } }
BigInteger类
①表示大整数类,定义在java.math包中
②当一个整型数据超过了整数的最大类型长度long,数据无法装入,可以使用它来进行操作。
BigDecimal类
①主要针对需要准确计算精度的数字使用。
②对于超过double类型的浮点数也能进行相关操作。
BigInteger类的使用:
package demo; import java.math.BigInteger; public classBigIntegerDemo01 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigIntegerbi1 = newBigInteger("123456789"); // 定义BigInteger对象 BigIntegerbi2 = newBigInteger("987654321"); // 定义BigInteger对象 System.out.println("加法操作:" + bi2.add(bi1)); // 加法操作 System.out.println("减法操作:" + bi2.subtract(bi1)); // 减法操作 System.out.println("乘法操作:" + bi2.multiply(bi1)); // 乘法操作 System.out.println("除法操作:" + bi2.divide(bi1)); // 除法操作 System.out.println("最大值:" + bi2.max(bi1)); // 求出最大数 System.out.println("最小值:" + bi2.min(bi1)); // 求出最小数 BigIntegerresult[] = bi2.divideAndRemainder(bi1); // 除法操作 System.out.println("商是:" + result[0] + ";余数是:" + result[1]); } }
BigDecimal类的使用:
package demo; import java.math.BigDecimal; public classMyMath { public static double add(double d1, double d2) { // 进行加法操作 BigDecimalb1 = newBigDecimal(d1); BigDecimalb2 = newBigDecimal(d2); returnb1.add(b2).doubleValue(); } public static double sub(double d1, double d2) { // 进行减法操作 BigDecimalb1 = newBigDecimal(d1); BigDecimalb2 = newBigDecimal(d2); returnb1.subtract(b2).doubleValue(); } public static double mul(double d1, double d2) { // 进行乘法操作 BigDecimalb1 = newBigDecimal(d1); BigDecimalb2 = newBigDecimal(d2); return b1.multiply(b2).doubleValue(); } public static double div(double d1, double d2, int len) { // 进行除法操作 BigDecimalb1 = newBigDecimal(d1); BigDecimalb2 = newBigDecimal(d2); return b1.divide(b1, len,BigDecimal.ROUND_HALF_UP).doubleValue(); } public static double round(double d, int len) { BigDecimalb1 = newBigDecimal(d); BigDecimalb2 = newBigDecimal(1); // 任何一个数字除以1都是原数字 // ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作 return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue(); }}
package demo; import java.math.BigDecimal; public classBigDecimalDemo01 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("加法运算:" + MyMath.round(MyMath.add(10.345,3.333), 1)); System.out.println("乘法运算:" + MyMath.round(MyMath.mul(10.345,3.333), 3)); System.out.println("除法运算:" + MyMath.div(10.345, 3.333, 3)); System.out.println("减法运算:" + MyMath.round(MyMath.sub(10.345,3.333), 3)); BigDecimalb1 = newBigDecimal(3.456); } }
0 0
- 谈谈-----数字格式化操作与大数(整数、浮点数)操作
- Java常用类库——数字格式化(NumberFormat)与大数操作(BigIntger、BigDecimal类)
- 浮点数操作
- js浮点数操作
- IFrame 与绑定操作,数字格式化转换
- 整数与浮点数除法
- Python 字符串 转换 整数 浮点数 数字
- 浮点数操作精度损失
- 浮点数的操作问题
- c++ cout 格式化输出浮点数、整数及格方法
- c++ cout 格式化输出浮点数、整数及格方法
- c++ cout 格式化输出浮点数、整数及格方法
- c++ cout 格式化输出浮点数、整数及格方法
- python格式化中指定补零和整数浮点数的位数
- 在Java中使用标准输入输出设备进行字符串,整数浮点数等 的输入输出操作
- Erlang 整数与浮点数转换
- C—整数与浮点数笔记
- 整数与浮点数的表示
- NOJ1070南邮仙林自行车停放场——计算几何+多边形
- linux下完整删除oracle
- hduCan you find it?二分
- 二叉查找树的C语言实现(一)
- vm模版调用对象方法
- 谈谈-----数字格式化操作与大数(整数、浮点数)操作
- ORA-2304:不同表空间不同用户的Type及Clob导入问题
- 在U-boot下实现自动识别启动Flash的原理(针对S3C24x0)
- 【转】揭秘迅雷VIP用户的破解方法
- 【转】菜鸟也来打造全自动QQ大家来找茬外挂
- C++ 图形用户界面库 QT
- 【转】福昕幻影(Foxit Phantom)
- 【转】无线路由密码破解
- 【转】解密360黑幕:离职奇虎360老员工的告白