flash保留小数位的方法

flash中并没有内置的保存小数位的方法,但是当你想把如3.14159265354.这样的数据只 保留两位数时怎么办, 下面的函数就可以解决这个问题.
/**
* 数据计算方法保留小数位
* @author     litianhua
* @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     litianhua

* @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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值