import org.junit.Test;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Formatter;
public class test_number {
//方法一:BigDecimal
@Test
public void test(){
double a = 2.5;
BigDecimal bd = new BigDecimal(a);
//保留几位小数这里的数字就填几
bd = bd.setScale(2, RoundingMode.HALF_UP);
System.out.println(bd);
}
//方法二:DecimalFormat
@Test
public void test2(){
double a = 2.5;
//想保留几位小数就写几个0
DecimalFormat df = new DecimalFormat("0.00");
df.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(df.format(a));
}
//方法三:String.format
@Test
public void test3(){
double a = 2.5;
/*
"%.2f"这个东西叫格式字符串,不懂的可以去API里搜String里的format方法
API在Java群里了
*/
System.out.println(String.format("%.2f",a));
}
//方法四:NumberFormat
@Test
public void test4(){
double a = 1232.5;
NumberFormat nf = NumberFormat.getNumberInstance();
//下面三行必须在一起用
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
nf.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(nf.format(a));//1,232.50
nf.setGroupingUsed(false);
System.out.println(nf.format(a));//1232.50
}
//方法五:Formatter
//值得注意的是,这里的Foematter是java.util.Formatter
@Test
public void test5(){
double a = 2.5;
Formatter formatter = new Formatter();
System.out.println(formatter.format("%.2f",a).toString());
}
}
保留几位小数的5种常见方法
猜你喜欢
转载自blog.csdn.net/weixin_46192593/article/details/105111128
今日推荐
周排行