取整
在表达式中可以使用下面的Math类中的方法将数字转换成整数。
例如向上取整:$= Math.Ceiling({数字变量})
根据取整方式,有几个不同的方法,请参考。
--------
本文内容来自 https://www.cnblogs.com/xinaixia/p/4834271.html
C#取整函数使用详解:
1、Math.Round是"就近舍入",当要舍入的是5时与"四舍五入"不同(取偶数),如:
Math.Round(0.5,0)=0
Math.Round(1.5,0)=2
Math.Round(2.5,0)=2
Math.Round(3.5,0)=4
2、Math.Truncate 计算双精度浮点数的整数部分,即直接取整数,如:
Math.Truncate(-123.55)=-123,
Math.Truncate(123.55)=123
3、Math.Ceiling 取天板值,即向上取整,与"四舍五入"无关。
Math.Ceiling(1) = 1
Math.Ceiling(1.1) = 2
Math.Ceiling(1.5) = 2
Math.Ceiling(3.1) = 4
4、Math.Floor 取地板值,即向下取整,与"四舍五入"无关。
Math.Floor(1) = 1
Math.Floor(1.1) = 1
Math.Floor(1.5) = 1
Math.Floor(3.9) = 3
取天板值与地板值,与"四舍五入"无关。其实Floor的结果与(int)相同,因此也可以这样写Math.Floor((double)2/3+0.5)
int a = 5; int b = 2; lbl.Text = Convert.ToString(Math.Ceiling((double)a / (double)b));
保留指定位小数
舍入之后保留几位小数(改变精度,结果仍为数字):
Math.Round(原始数字, 保留位数)
舍入规则如下:
例如:
- Math.Round( 1.2345, 2) = 1.23
- Math.Round( 1.2350, 2) = 1.24
- Math.Round( 1.2, 2) = 1.2 (这里是数字,对数字来说1.20 = 1.2)
上面的方式结果仍然是一个数字。
转化为文本
如果要把数字转化为带有一定小数位的文本,可以使用 {数字变量}.ToString("格式字符串") 的方式转换。
假设数字变量的值为5678.12345,那么:
- {数字变量}.ToString("F2") = "5678.12"
- {数字变量}.ToString("F2") = "56789.1234"
- {数字变量}.ToString("F6") = "56789.123450"
- {数字变量}.ToString("N2") = "56,789.12"
- {数字变量}.ToString("N4") = "56,789.1234"
- {数字变量}.ToString("P2") = "5,678,912.34%"
- {数字变量}.ToString("#0.00") = "56789.12"