① android 保留兩位小數問題。
DecimalFormat df = new DecimalFormat("#.00");
改為
DecimalFormat df = new DecimalFormat("0.00");
#.## 表示有0就顯示0,沒有0就不顯示
例如 1.20 就會變成1.2
0.00表示,有沒有0都會顯示
例如 1.20 依然是 1.20
② Double類型的數據怎麼保留兩位小數
4種方法,都是四捨五入,例:
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class format {
double f = 111231.5585;
public void m1() {
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* DecimalFormat轉換最簡便
*/
public void m2() {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
* String.format列印最簡便
*/
public void m3() {
System.out.println(String.format("%.2f", f));
}
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
format f = new format();
f.m1();
f.m2();
f.m3();
f.m4();
}
}
//還有一種直接向上取整數
<h2 class="title content-title">//java:Java的取整函數</h2> <div id="content" class="content mod-cs-content text-content clearfix"> //Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函數,但返回值卻不一樣
Math.floor()
通過該函數計算後的返回值是捨去小數點後的數值
如:Math.floor(3.2)返回3
Math.floor(3.9)返回3
Math.floor(3.0)返回3
Math.ceil()
ceil函數只要小數點非0,將返回整數部分+1
如:Math.ceil(3.2)返回4
Math.ceil(3.9)返回4
Math.ceil(3.0)返回3
③ android中如何實現除法的保留小數點後2位,四捨五入!
static long round(double a) Returns the closest long to the argument. static int round(float a) Returns the closest int to the argument精確的,是這樣. /** * 提供精確的小...
④ 對double變數保留兩位小數如何做
一、其實很簡單:
Double dou = 3000.533
dou = (double)Math.round(dou*100)/100
其中dou是變數,很簡單吧,我們大多數人都知道Math.round()方法,可是我卻沒想到保留兩位小數就是先乘以100再除以100.
同理保留N位小數就不用說了吧
二、第二種方法
double d = 111231.5585;
BigDecimal b = new BigDecimal(f);
double df = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
三、第三種方法
double a=10000;//要用double型,要不a/b永遠得0;
double b=20000;
NumberFormat nbf=NumberFormat.getInstance();
nbf.setMinimumFractionDigits(2);
String c = nbf.format(a/b);
⑤ double 保留兩位小數
double 就是double,是個數字,怎麼顯示不關它的事情. 比如1.0000000和1.0000或者1.0都是同一個double. 你希望後面補0那是顯示的事情,你可以顯示的時候ToString("格式字元串") 得到你要的顯示結果. 比如double d=12345.6789; d.ToString("#,##0.00") //結果 12,345.67 d.ToString("0.00") //結果 12345.67 d.ToString("0.000000000000")//結果 12345.678900000000 以此類推
⑥ c語言double保留2位小數
double類型保留小數有兩種情況:1、浮點型與整型
將浮點數(單雙精度)轉換為整數時,將舍棄浮點數的`小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:賦值時的類型轉換實際上是強制的。
2、單、雙精度浮點型
由於C語言中的浮點值總是用雙精度表示的,所以float 型數據只是在尾部加0延長為double型數據參加運算,然後直接賦值。double型數據轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。
⑦ double數據控制保留小數的幾種方法
double類型保留小數有兩種情況: 1 在輸出時保留兩位小數:用printf通過格式字元即可控制小數的保留。如 double a = 1.234; printf(".2lf",a); 會輸出1.23 2 在運行過程中結果保留兩位小數。可以藉助轉為整型,及乘除運算實現。如 double a = 1.235; a = ((int)(a*100+0.5))/100.0; 運算結果,a=1.24.
⑧ 如何將一個double類型的數四捨五入保留兩位小數
方式一:
四捨五入
double f = .5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留兩位小數
---------------------------------------------------------------
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的數字);
例:new java.text.DecimalFormat("#.00").format(3.)
#.00 表示兩位小數 #.0000四位小數 以此類推
方式三:
double d = 3.;
String result = String .format("%.2f");
%.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型
方式四:
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
void setMaximumFractionDigits(int digits)
digits 顯示的數字位數
為格式化對象設定小數點後的顯示的最多位,顯示的最後位是舍入的
⑨ android中如何實現除法的保留小數點後2位,四捨五入!
android實現保留小數點後2位,四捨五入,就是java語言的實現,可以使用java提供的round(double a)函數,實現四捨五入的計算。
public static double round(Double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = null == v ? new BigDecimal("0.0") : new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
BigDecimal 這個類是在jdk4.0之後引入的,目的就是為了獲得更精確的小數位,以便於計算。