如何把double類型四舍五入到小數后兩位


double類型四舍五入和數據格式化的幾種方法:

1. double value = 11.11111111;

DecimalFormat df = new DecimalFormat("##.00");
value = Double.parseDouble(df.format(value));
System.out.println(value);

結果為11.11

--------------------------------------------------------------------------------

2. double d = 22.365434;
BigDecimal a = new BigDecimal(d);
//第一個參數2是小數點后保留幾位,第二個2是四舍五入(如果為1則直接舍掉后面多余的位)
System.out.println("a.setScale(2,2)=" + a.setScale(2, 2));

--------------------------------------------------------------------------------

轉貼

// 四舍五入取小數點后 2 位。 
float f = 1.234567F; 
f = float.Parse(f.ToString("F2")); 
Console.WriteLine(f.ToString());


Math.Round()這個是四舍五入的 
f.ToString("0.00");這個只是用來顯示的

double d = 1.234567; 
Console.WriteLine(d.ToString("F"));

 

Math.Round(double1, 2); 
這是最正宗的方法如果你要隻顯示到屏幕也可以這樣 
Console.WriteLine(double1.ToString("###,###,###.##");


很多都是四舍五入的,只好用這個笨辦法:

double d = (double)((long)(2.378325*100))/100; 
MessageBox.Show(d.ToString(".##"));

 

剛才貼的那個方法如果末尾剛好是0數字就會不足2位小數位,改為這個:

MessageBox.Show(((double)((long)(45452.318325*100))/100).ToString(".00"));

例如:2.3023 處理后得到 2.30

 

double aa=345.6443; 
int bb; 
Decimal cc; 
bb=Decimal.Round(aa,2); 
OK了

 


double d = 2.378325; 
d = double.Parse(d.ToString("0.00")); 
不過這樣會四舍五入,結果是2.38

 

1/string str="2.378325"; 
str=str.Substring( x,y);用remove也可以 
2/double d = 2.378325*100;……這樣就更好處理一些

 

 

笨方法

double d=2.378325; 
int i=d.ToString().LastIndexOf("."); 
if(i!=-1) 

d=Convert.ToDouble(d.ToString().Substring(0,i+3)); 

else 

d=d;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM