⑴ 急求!!java中怎样任意保留小数位
DecimalFormat这个类的format方法
DecimalFormat f = new DecimalDormat("#.00");
System.out.println(f.format(这个地方写需要保留2为小数的变量或者常量));
肯定是这个类,肯定是这样的内格式控制,至于容("#.00")这样好像有些BUG,如果("00.00")如果是1好像不会自动补齐左边的0而是1.00,以前我遇到过你最好网络一下,再查看一下JDK文档给出的format方法的用法。
⑵ java中保留小数点后几位是怎么设的
有两种情况:
1、只要输出结果的时候可以用以下方法:
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));
结果:0.03
2、使用数据转换内(4种方法)
//方案容一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal bd2 = bd.setScale(2,BigDecimal .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());
⑶ 如何把java得出的数值,保留小数点2位四舍五入
// 方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
// 方式二:
new java.text.DecimalFormat("#.00").format(3.1415926);
// #.00 表示两位小数 #.0000四位小数 以此类推…
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0
⑷ java程序中怎么保留一位小数
java中保留1位小数, 通常可以使用字符串格式化的方式, 或者利用BigDecimal 来实现
参考代码
importjava.math.BigDecimal;
publicclassTest{
publicstaticvoidmain(String[]args){
doubled1=3.02;
System.out.println(d1);
//利用字符串格式化的方式实现四舍五入,保留1位小数
Stringstr1=String.format("%.1f",d1);//1代表小数点后面的位数,不足补0.f代表,后面的数据d1是浮点类型
System.out.println(str1);
//利用BigDecimal来实现四舍五入.保留一位小数
doublef1=newBigDecimal(d1).setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
//1代表保留1位小数
//BigDecimal.ROUND_HALF_UP代表使用四舍五入的方式
System.out.println(f1);
}
}
⑸ 学习java时在要求输出的数字带俩个小数点时,利用String.format时出现的问题
publicclassStringFormatDemo{
publicstaticvoidmain(String[]args){
//String.format实现了四舍五入
System.out.println(String.format("%.2f",8.1256));//8.13
System.out.println(String.format("%.2f",8.1216));//8.12
System.out.println(String.format("%.2f",1.0));//1.00
//System.out.println(String.format("%.2f",1));
/*上面注释掉的一行就报错,因为参数里有小数点".",
*说明后面的数据应该是浮点型的数据,那么整数就会报错.
*这个地方应该就是你出错的原因*/
inta=2;
//如果非要把整型当成数据.应把a转成double/float浮点类型
System.out.println(String.format("%.2f",Double.valueOf(a)));
}
}
⑹ java中小数怎么四舍五入
按照你的要求为不确定保留几位小数的字符串做四舍五入的Java程序如下
import java.math.BigDecimal;
public class A {
public static void main(String[] args) {
String s="0.00000999999997";
//四舍五入,length是小数位数
int length=s.substring(s.indexOf(".")+1).length();
String s1=String.format("%."+(length-1)+"f",new BigDecimal(s));
//去尾部0
BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();
System.out.println(bd.toPlainString());
}
}
⑺ java 怎么保留2位小数
java保留两位小数的方法:
方式一:
四舍五入
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
方式二:
java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.00");
df.format(要格式化的回数字);
例:newjava.text.DecimalFormat("#.00").format(3.1415926)
#.00表示答两位小数#.0000四位小数以此类推...
方式三:
doubled=3.1415926;
Stringresult=String.format("%.2f");
%.2f%.表示小数点前任意位数2表示两位小数格式后的结果为f表示浮点型
⑻ Java 如何将string中的小数进行四舍五入
java 小数四舍五入
答:import java.math.RoundingMode;import java.text.NumberFormat;public class Snippet {public static void main(String[] args) {double x= 1.9999998;NumberFormat nf = NumberFormat.getInstance();nf.setRoundingMode(RoundingMode.HALF_UP)...
java如何取小数点前两位,并四舍五入
答:取小数点前两位,并四舍五入:double m=7237.3589一、DecimalFormat df = new DecimalFormat("#.00");System.out.println(df.format(m));二、System.out.println(String.format("%.2f", m));
如何把java得出的数值,保留小数点2位四舍五入
答:// 方式一: double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // 方式二: new java.text.DecimalFormat("#.00").format(3.1415926); // #.00 表示两位小数 #.0000...
java中保留两位小数并要求四舍五入的方法
答:double d=2.345;//格式化为StringString str=String.format("%.2f",d);System.out.println(str);//如果需要数字,可以再d = Double.parseDouble(str)//////////////BigDecimal bd=new BigDecimal("2.345");//建议使用String参数BigDecimal bd_hal...
怎样用java实现小数的四舍五入
答:public static int round(float a) 返回最接近参数的 int。结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 int 类型。换句话说,结果等于以下表达式的值: (int)Math.floor(a + 0.5f)