论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

flash保留小数位的方法

文章类别:Flash | 发表日期:2008-9-21 15:10:33

  

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)
 }

这方法假如要对小数位进行四舍五入的话,还要多写几行,实在麻烦的很,因此被我无情的打入冷宫了^_^

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058