常用簡單的有四種方法:
(這里介紹對浮點數處理,同樣的對其他類型如雙浮點數double、int等數據類型處理方法的思路也差不多。)
1、使用數學函數集合Mathf運算符:Mathf.Round();//浮點數四舍五入取整,如果舍去位是數字5,不管個數位是偶數還是奇數,將返回偶數。
float a = Mathf.Round(2.4567f);//結果為2
float b = Mathf.Round(2.5123f);//結果為2,小數位是5,個數位在2,3之間取偶數2
float c = Mathf.Round(3.4521f);//結果為3
float d = Mathf.Round(3.505f);//結果為4,小數位是5,個數位在3,4之間取偶數4
float e = Mathf.Round(3.622f);//結果為4
float num1 = Mathf.Round(floatValue * 10) /10;//保留小數點后一位
float num2 = Mathf.Round(floatValue * 100) /100;//保留小數點后兩位
類似的還有:Mathf.Floor();Mathf.FloorToInt();Mathf.RoundToInt();等,詳情可查unity腳本手冊Mathf函數
2、使用Math類方法:Math.Round(Double num);或Math.Round(Double num1,Int32 num2);//num和num1是要處理的數,num2是設置保留小數點的位數
//四舍五入結果參考上面的Mathf.Round或Math文檔
//float與double之間顯式轉換(強制轉換)
float x = (float)Math.Round((double)x, 1);//將 x 后小數點位數指定為1
float x = (float)Math.Round((double)x, 2);//將 x 后小數點位數指定為2
類似的還有:Math.Round(Double,MidpointRounding);Math.Round(Decimal num);Math.Round(Decimal num1,Int32 num2);等詳情可查看.Net的Math類文檔
3、使用String.Format()方法:String.Format(string value,F1);或String.Format(string value,F2);//字符串的格式化為小數形式,F1保留小數點后一位,F2保留小數點后2位
string.Format("{0:F}",5.1261); //5.13,默認保留兩位小數且截取時自動四舍五入
string.Format("{0:f1}",5.1261); //5.1
string.Format("{0:F2}",5.1261); //5.13
string.Format("{0:F3}",5.1261); //5.126
//字符串與浮點數之間強制轉換
float value = float.Parse(string.Format("{0:f1}", getValue));//保留一位小數
float value = float.Parse(string.Format("{0:f2}", getValue));//保留兩位小數
類似的還有:string.Format("{0:N}", stringValue) ;string.Format("{0:###.##}",stringValue);等 詳情可查看.Net的String.Format 方法文檔
4、使用value.ToString()方法:value.ToString("0.0");或value.ToString("F2") ;
float value = float.Parse(getValue.ToString("0.0"));//保留小數點后一位
float value = float.Parse(getValue.ToString("0.00"));//保留小數點后兩位
同string.Format()方法,還有其他多種格式。
————————————————
版權聲明:本文為CSDN博主「逍遙樂平」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43908355/article/details/115203415