保留兩位小數處理

2021-07-22 09:59:57 字數 1479 閱讀 4403

專案中需要對數字保留兩位小數,所以把用到的總結了一下,使用nsstring分類實現,保留多種方式保留有效數字,保留的數字低於**會丟棄,多於五入可以根據需求定義,確保不丟失精度.也可以保留整型的方法,再支援判斷是否輸入的是否是純數字.

//保留兩位小數

四不會捨棄

多五入+ (

nsstring

*)retentionwithstrvalue:(

nsstring

*)storenumber

//保留整數

+ (nsstring

*)retentionwithinteger:(

nsstring

*)storenumber

//判斷是否是純數字

+ (bool

)ispurenum:(

nsstring

*)string

return

yes;}/*

*處理數字加小數點的字串

,前面無

0,保留兩位。如果為後台返回的資料為0 就讓資料顯示為0,

*/+ (

nsstring

*)getthecorrectnum:(

nsstring

*)tempstring

//先判斷第一位是不是

. ,是.補

0if([tempstring

hasprefix

:@"."

]) //

計算擷取的長度

nsuinteger

endlength = tempstring.

length;//

判斷字串是否包含.if

([tempstring

containsstring

:@"."

]) }

//先將

tempstring

轉換成char

型陣列nsuinteger

start =0;

const

char

*tempchar = [tempstring

utf8string

];//遍歷,

去除取得第一位不是

0的位置

for(

inti =

0; i < tempstring.

length

; i++)

else}//

如果第乙個字母為

. start

後退一位

if(tempchar[start] ==

'.')

//根據最終的開始位置

,計算長度

,並擷取

nsrange

range = ;

tempstring = [tempstring

substringwithrange

:range];

return

tempstring;

}

Python保留兩位小數處理

1.使用round內建函式 a 12.345 result roud a,2 print result 12.35 如原數值為一位小數,則round函式結果仍為一位小數 b 12.3 result b round b,2 print result b 12.32.使用decimal模組 from d...

保留兩位小數

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....

保留兩位小數

num 10.4567 第一種 利用round 對浮點數進行四捨五入 echo round num,2 第二種 利用sprintf格式化字串 format num sprintf 2f num echo format num 第三種 利用千位分組來格式化數字的函式number format echo...