明凯博客

关注网站技术,一个特立独行的程序员

ASP Fix、Int、Round、CInt函数使用说明

Fix(number) 和 Int(number) 都是返回数字的整数部分,Round(number, numdecimalplaces),第二个参数表示从小数点右边第几位开始实行四舍五入,可以省略,默认是0,即四舍五入返回整数

Fix(number) 和 Int(number) 都是返回数字的整数部分。

number 为正数时,二者返回值一样。比如:Fix(3.6)=3,Int(3.6)=3。
number 为负数时,Fix 直接去除小数部分,Int 返回小于或等于 number 的第一个负整数。比如:Fix(-3.6)=-3,Int(-3.6)=-4。
Round(number, numdecimalplaces),第二个参数表示从小数点右边第几位开始实行四舍五入,可以省略,默认是0,即四舍五入返回整数。CInt(number) 利用四舍五入的方式删除小数部分。

如果 Round 的第二个参数省略,那么 Round 和 CInt 功能是一样的。

number 为正数时,Round(3.6)=4,CInt(3.6)=4。注意,当小数部分恰好是0.5时,总是将其四舍五入为最接近的偶数。比如Round(3.5)=4,Round(4.5)=4。
number 为负数时,可以这样理解(假设 n 为正数):
Round(-n) = -Round(n),比如:Round(-3.5) = -4。
CInt(-n) = -CInt(n),比如:CInt(-99.8) = -100。

asp中的几个取整函数是:fix(),int(),round();
Int(number)、Fix(number)函数返回数字的整数部分。number 参数可以是任意有效的数值表达式。如果 number 参数包含 Null,则返回 Null。
例:

1
2
3
4
response.write int(2.14) '2 
response.write fix(2.14) '2 
response.write int(2.54) '2 
response.write int(2.54) '2

Int 和 Fix 函数都删除 number 参数的小数部分并返回以整数表示的结果。Int 和 Fix 函数的区别在于如果 number 参数为负数时,Int 函数返回小于或等于 number 的第一个负整数,而 Fix 函数返回大于或等于 number 参数的第一个负整数。例如,Int 将 -8.4 转换为 -9,而 Fix 函数将 -8.4 转换为 -8。
round(Expression[, numdecimalplaces])返回按指定位数进行四舍五入的数值。Expression是必选项。数值表达式 被四舍五入。Numdecimalplaces是可选项。数字表明小数点右边有多少位进行四舍五入。如果省略,则 Round 函数返回整数。
例:

1
2
3
response.write round(3.14) '3 
response.write round(3.55) '4 
response.write round(3.1415,3) ' 3.142

ASP取整函数

取 整 函 数
大家都知道在BASIC语言中,系统为我们提供了许多标准函数,而“取整函数”就是其中一个非常重要的函数。
一、 “取整函数”的格式和功能。
1、格式:INT(X)
2、功能:取不大于X的最大整数
3、说明:其中INT为函数名,不允许改变,X为自变量,其形式多种多样,可以是数值常量、数值变量、数值表达式。
例如:

1
2
3
4
INT3.1416=3 
INT3.8752=3 
INT(-3.14=-4 
INT(-3.85=-4

从上面的题目来看,我们可以看出,对于有小数部分的正数,INT
取整这后把小数部分舍掉,但不进行四舍五入,对于有小数的负数来说,INT取整后并不是直接舍掉小数,而是取比其整部分小1的整数。当然了,对于真正整数来说,INT之后其值不变。
二、“取整函数”的应用
1、对数值进行四舍五入运算
(1)对X值保留整数部分,小数部分四舍五入。
表达式为:INT(X*100+0.5)
例如:

1
2
3
4
INT(3.1416+0.5)=INT(3.6416)=3 
INT(3.8572+0.5)=INT(4.3572)=4 
INT(-3.14+0.5)=INT(-2.64)=-3 
INT(-3.85+0.5)=INT(-3.35)=-4

通过分析上面的例子我们可能看出,用INT取整函数达到四舍五入的功能,关键大在于这个0.5,咱们从数轴来看,对一个数加上0.5,相当于对其值向右移动0.5,根据小数点后第一位是小于5还是大于等于5,决定了此数在向右移动过程中是否经过了一个整数,因为INT函数取值为其左侧的最大整数,若经过了一个整数,则结果就为这个整数,否则就和原数直接INT取整结果相同。这样就可能达到四舍五入的目的了。
(2)对X的值保留两位小数, 对第三位小数四舍五入
表达式:INT(X*100+0.5)/100
例如:

1
2
3
4
5
6
7
8
9
10
INT(3.1416*100+0.5)/100 
=INT(314.16+0.5)/100 
=INT(314.66)/100 
=314*100 
=3.14 
INT(3.8572*100+0.5)/100 
=INT(385.72+0.5)/100 
=INT(386.22)/100 
=386/100 
=3.86

这种四舍五入保留与上面1的保留只相差在小数点位置不同,我们只要想办法改变小数点的位置就可以了,所以我们采用的方法是先对X扩大100倍,然后再按第一种方法进行取舍小数,最后再缩小100倍,这样既可以不影响数的基本大小,又可以对其进行四舍五入。
小结1
对X值保留N位小数,第N+1位小数四舍五入的一般表达式为:
INT(x*10^N+0.5)/X*10^N
2、判数一个数M能否被数N整除
例如:判断一个数的奇偶性,即是否能被2整除

1
2
3
M=25 M=24 
M/2=12.5 M/2=12 
INT(M/2)=12 INT(M/2)

通过上述表达式很容易得出结论:25为奇数,25/2<>INT(25/2),24为偶数,24/2=INT(24/2),INT函数可以达到舍掉小数部分的功能,对一个数M来说,只有当M能被2整除的情况下,M/2才能等于INT(M/2),所以本题表达式可以写成:
当M/2 <>INT(M/2)时,M为奇数
当M/2=INT(M/2)时,M为偶数
小结2
数M能被数N整除: M/N=INT(M/N)
数M不能数N整除: M/N<>INT(M/N)
三、 CINT(X)、FIX(X)的区别

FIX(X)截去小数部分取整
下表是三个函数取值的对比:

1
2
3
4
5
X INT(X) CINT(X) FIX(X) 
3.26 3 3 3 
3.76 3 4 3 
-3.26 -4 -3 -3 
-3.76 -4 -4 -3 :

当X>=0时,INT(X)的值与其相同,
当X<0时INT(X)的值总小1;
CINT(X)是对X的小数部分四舍五入取整,其功能与INT(X+0.5)相同

, , ,

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注