C 保留2位小數

2021-09-27 04:53:32 字數 1186 閱讀 1160

場景1:

c#保留2位小數,.tostring("f2")確實可以,但是如果這個數字本來就小數點後面三位比如1.253,那麼轉化之後就會變成1.25.可不可以剛好保留到最後一位不是0的位置?

預設保留2位,如果真的有3位小數,就保留3位,有4位就保留4位。

先說一下tostring("0.00##")中0和#的區別:

0 代表佔位的。如果tostring("0.00") 這樣就是保留兩位小數,無論小數有多少位或者無小數,結果都是兩位小數。例如 1.1234 那麼結果是1.12。如果是1.2 那麼結果會補零,為1.20。

# 代表後面的不是零就被保留,如果是0就去掉。例如tostring("0.##") 那麼1.20的話結果是1.2。

對於場景1的問題,預設有兩位就是00,其它的如果大於兩位就不是零就保留的話,可以下面這樣寫:

double dd = 1.2530;

string ret = dd.tostring("0.00####"); // 1.253

場景2:

根據國際慣例,有時候我們需要對超出的位數「四捨五入」。用c# 實現保留兩位小數的方法有很多,常用的總結如下:

1、math.round(0.333333,2);//按照四捨五入的國際標準

2、double dbdata=0.335333; string str1=string.format("",dbdata);//預設為保留兩位

3、float i=0.333333; int j=(int)(i * 100); i = j/100;

4、decimal.round(decimal.parse("0.3333333"),2)

5、private system.globalization.numberformatinfo nfi = new system.globalization.numberformatinfo();

float test=0.333333f;

nfi.numberdecimaldigits=2;

string result=test.tostring("n", nfi);

6、string result= string.format("",convert.todecimal("0.333333").tostring());

7、convert.todecimal("0.33333333").tostring("0.00");

C 保留2位小數

1.只要求保留n位不四捨5入 float f 0.55555f int i int f 100 f float i 1.0 100 2.保留n位,四捨五入 decimal d decimal.round decimal.parse 0.55555 2 3.保留n位四捨五入 math.round 0....

JS保留2位小數

js保留兩位小數 對於一些小數點後有多位的浮點數,我們可能只需要保留2位,但js沒有提供這樣直接的函式,所以我們得自己寫函式實現這個功能,如下 function changetwodecimal x var f x math.round x 100 100 return f x 功能 將浮點數四捨五...

js 保留2位小數

一 四捨五入法 1.jquery 小數計算保持精度,同時保留兩位數 tofixed 方法可把 number 四捨五入為指定小數字數的數字。var num 1.45698 num parsefloat num.tofixed 2 注意tofixed方法返回的結果是字串型別 2.tofixed 四捨五入...