欢迎光临

木子屋

标题: flash保留小数位的方法

作者: dnawo

日期: 2007-08-24 02:13 PM

分类: 网页设计

内容: flash中并没有内置的保存小数位的方法,但是当你想把如3.14159265354.这样的数据只保留两位数时怎么办, 下面的函数就可以解决这个问题.
复制内容到剪贴板 程序代码/**
* 数据计算方法保留小数位
* @author fanflash.cn
* @version 0.1
* @num 源数值
* @n 保留的小数位
* @return 保留小数位后的数据
*/
public static function decimal2(num:Number,n:Number):Number{

var ts:String="1";
var tn:Number=1;

//计算要乘的位数
for(var i=0;i<n;i++){
ts+="0"
}

tn=Number(ts);
return Math.round(num*tn)/tn
}
这种方法是利用Math.round来进行截位的,把round换成floor或ceil还可以得到小数的上限值或下限值.另外还有一种我很早以前,还没有想到这种方法时用到的函数.
复制内容到剪贴板 程序代码 /**
* 字符串切割方法保留小数位
* @author fanflash.cn
* @version 0.1
* @num 源数值
* @n 保留的小数位
* @return 保留小数位后的数据
*/
public static function decimal(num:Number,n:Number):Number{

//参数缺省值
if(n==undefined){
n=1;
}

var numStr:String=String(num)
var numStrArr:Array=numStr.split(".");

//实数与小数
var a:String=numStrArr[0];
var b:String=numStrArr[1];

//数据检查
if(b==undefined){
//没有小数位
return Number(a);
}

b=b.substr(0,n);
return Number(a+"."+b)
}
这方法如果要对小数位进行四舍五入的话,还要多写几行,实在麻烦的很,因此被我无情的打入冷宫了^_^

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.586 ms

返回

标题: flash保留小数位的方法

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.586 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.633 ms

返回