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);
}
}