① 如何在java中设置小数位数,数据库里面价格设置为两位小数,but提取出来放到table里面,if第二位是0,会被
应该是你变量设置的问题吧,另外先测试数据库,可以手填进去,直接提取,如果手填的数据提取出来还是被舍的话,那就是数据库的数据类型问题;如果变量设置和数据类型都没有问题,那看你提取页的变量设置是否有问题,就算你前期没有错,这里设置错了,也会有问题的。java里可以出现小数点的是float和double,如果你设置成int或者long的话默认是没有小数点的。
② 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里面怎么格式化Double变量为保留小数点后二位小数呀
用String类的格式化比较方便点
Double s = 23.43432;
String s1 = String.format("%.2f", s);
最后返回的是一个String的s1,若还是想用double类型,可以用Double.valueOf(s1);再转换一次即可
④ java bigdecimal类型金额格式化,保留4为小数
金额3位一个逗号需要使用NumberFormat进行数值的格式化。
⑤ 在java 中如何把一个字符串格式的百分数转换成为小数
去掉百分号后,除以100..0。。。一定要除以100.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里面输出一个double型数据,怎么精确到小数点后6位
new BigDecimal(resultDouble).setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();
可以通过BigDecimal类的setScale()函数格式化小数,参数解释找api文档看看就清楚了
⑧ java实现数值千分位格式化且保留指定小数位且小数位不进行四舍五入
保留指定位数能进行四舍五入
public static void main(String[] args) {
String str ="12312323423423.123283123";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//0.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.####;(#)");
System.out.println(d1.format(b));
}
不四舍五入的方法
String str ="12312323423423.123283923";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.######");
// 设置舍入模式
d1.setRoundingMode(RoundingMode.FLOOR);
System.out.println(d1.format(b));
⑨ java使用BigDecimal格式化小数
方法一:
double myNum2 = 111231.5585478;
java.math.BigDecimal b = new java.math.BigDecimal(myNum2);
double myNum3 = b.setScale(5, java.math.BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(myNum2);
System.out.println(myNum3);
方法二:
double d = 3.1465926;
String result = String.format("%.5f", d);
System.out.println(result);