数字格式化

数字的格式在解决实际问题时使用非常普遍,如表示某超市的商品价格,需要保留两位有效数字。Java主要对浮点型数据进行格式化操作。其中浮点型数据包括double型和float型数据,在java中使用Java.text.DecimalFormat格式化数字。

在Java中没有格式化写数据遵循以下原则:

如果数据绝对值大于0.001并且小于10000000,Java将以常规小数形式表示。

如果数字绝对值小于0.001或者大于10000000,使用科学记数法表示。

由于以上输出格式不能满足解决实际问题的要求,通常将结果格式化为指定形式后输出。在Java中可以使用DecimalFormat类进行格式化操作。

DecimalFormat是NumberFormat的一个子类,用于格式化十进制数字。它可以将一些数字格式化为整数、浮点型、百分数等。通过使用该类可以为要输出的数字加上单位或控制数字的精度。一般情况下可以实例化DecimalFormat对象时传递数字格式,也可以通过DecimalFormat类的applyPattern()方法来实现数字格式化。

当格式化数字时,在DecimalFormat类中使用一些特殊字符构成一个格式化模板,使数字按照一定的特殊字符规则进去匹配。

 

在项目中创建DecimalFormatSimpleDemo类,在类中分别定义SingleFormat()方法和UseApplyPattemMethodFormat()方法实现两种格式化数字的方法,代码如下:

import.text.DecimalFormat;

public class DecimalFormatSimpleDemo{

    //使用实例化对象时设置格式化模式

    static public void SimgleFormat(String pattern, double value){

    //实例化DecimalFormat对象

    DecimalFormat myFormat = new DecimalFormat(pattern);

    String output = myFormat.format(value);

    //将数字进行格式化

    System.out.printin(value + ""+ pattern +"+ output);

             //使用applyPattern()方法对数字进行格式化

             static public void UseApplyPatternMethodFormat(String pattern, double value) {

//实例化DecimalFormat对象

                 DecimalFormat myFormat=new DecimalFormat();

//调用applyPattern)方法设置格式化模枢

                 myFormat.applyPattern(pattern);

                 System.out.printin(value +"" + pattern + ""+ myFormat.format(value));

                 public static void main(StringD args) {

                 SimgleFormat("", 123456.789);

                 SimgleFormat("00000000.kg", 123456.789);

                 }

                 //按照格式模板格式化数字,不存在的位以0显示

                 SimgleFormat("000000.000", 123.78);

                 //调用静态UseApplyPatternMethodFormat()方法

                 UseApplyPatternMethodFormat("###%", 0.789);

                 //将小数点后格式化为两位

                 UseApplyPatternMethodFormat("", 123456.789);

                 //将数字转化为千分数形式

                 UseApplyPatternMethodFormat("0.00u2030", 0.789);"

                 }

   

    }

            

结果如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值