Unity开发——C#4种设置浮点数位数、格式的方法

25 篇文章 1 订阅
15 篇文章 0 订阅

这里介绍对浮点数处理,同样的对其他类型如双浮点数double、int等数据类型处理方法的思路也差不多。

1、Mathf运算符

(1)示例 Mathf.Round();

Mathf.Round();浮点数四舍五入取整;

如果舍去位是数字5,不管个数位是偶数还是奇数,将返回偶数。

(2)其他Mathf方法

类似的还有:Mathf.Floor();        Mathf.FloorToInt();        Mathf.RoundToInt();等,详情可查unity脚本手册Mathf函数

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;//保留小数点后两位

2、Math方法

(1)示例:Math.Round()

Math.Round(Double num);

Math.Round(Double num,Int32 num1);

num是要处理的数,num1是设置保留小数点的位数;

(2)其他Math方法

类似的还有:Math.Round(Double,MidpointRounding);

Math.Round(Decimal num);        Math.Round(Decimal num1,Int32 num2);

详情可查看.Net的Math类文档

//四舍五入结果参考上面的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

3、String.Format()方法

(1)示例:String.Format("{0:F}",Float);

String.Format("{0:F1}",Value);        String.Format("{0:F2}",Value);

字符串的格式化为小数形式,其中F1表示保留小数点后一位,F2表示保留小数点后2位

(2)其他参数

类似的还有:

string.Format("{0:N}", stringValue) ;        string.Format("{0:###.##}",stringValue);详情可查看.Net的String.Format 方法文档

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));//保留两位小数

4、Value.ToString()方法:

(1)示例:value.ToString(指令);

value.ToString("0.0");        value.ToString("F2") ;

(2)其他参数

同string.Format()方法,可参考官方文档/源码查看其他格式。

float value = float.Parse(getValue.ToString("0.0"));//保留小数点后一位
float value = float.Parse(getValue.ToString("0.00"));//保留小数点后两位

  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值