① 如何在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);