java之实现简单的传入一个小数和一个整数,根据传入的整数,输出一个有整数位个小数的小数

java之实现简单的传入一个小数和一个整数,根据传入的整数,输出一个有整数位个小数的小数

结果如下:
输入一个小数,和一个想要取多少为位小数的整数在这里插入图片描述
得到:
在这里插入图片描述
以下三种方法:

package com.qianfeng.day11;

import sun.nio.cs.ext.MacThai;

import java.text.DecimalFormat;

public class test {
    
    
    public static void main(String[] args) {
    
    
         fu(3.5514275,4);
         fu1(12.4654,5);
         fun2(12.5,1);
    }
//第一种:调用DecimalFormat类的方法,实现数字格式初始化
    public static void fu(Double a, int b) {
    
    
        String s;
        if(b==0)  s="0";
        else s="0.";
        for(int i=0;i<b;i++){
    
    
             s+=0;
        }
        DecimalFormat df=new DecimalFormat(s);
        System.out.println(df.format(a));
    }
//第二种:原生代码,不推荐
    public  static  void fu1(double n,int m){
    
    
        double a = n*Math.pow(10,m);
        int b=(int)a;
        double c=b/ Math.pow(10,m);
        System.out.println(c);
    }
//第三种:原生代码
    public  static  void  fun2(double n,int m){
    
    
        String num=n+"";
        int index=num.indexOf(".");
        String a=num.substring(0,index);
        String  b=num.substring(index+1);

        String c="";
        if(b.length()>m){
    
    
            c=b.substring(0,m);
        }else  if(b.length()<m){
    
    
            int chaZhi=m-b.length();
            for(int i=0;i<chaZhi;i++){
    
    
                b+="0";
            }
            c=b;
        }else {
    
    
            System.out.println(num);
            return;
        }
        String str=a+"."+c;
        System.out.println(str);

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42590083/article/details/112597413