C#保留小数

四舍五入保留
float a=0.188f;
double b=System.Math.Round(a,2);//output: 0.19
直接截取:
float f=0.188f;
int i=(int)(f*100);
f=(float)(i)/100;

此方法在Unity下发现无法以下形式出现错误(Unity 2018.3.0f2):

float val=0.01f;
val=(int)(val*100.0f) / 100.0f;//ouput: 0
val=(float)( (int)(val*100.0f) ) / 100.0f;//ouput: 0

//使用下列形式正确转换
val=Mathf.Floor(val*100.0f)/100.0f;//ouput: 0.01

猜你喜欢

转载自www.cnblogs.com/kingBook/p/10256439.html
今日推荐