專案中需要對數字保留兩位小數,所以把用到的總結了一下,使用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...