文章搜索:
打开支付宝首页搜索“510617664”,即可领红包
  首页--> 计算机--> FLASH教程
 
flash保留小数位的方法
http://www.xxqqss.com 学习轻松网 点击量:14335
 

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

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

来源:fanflash's blog  作者:fanflash


打印】 【关闭
免责声明 :本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请发送fiyeadwyv@163.com
最热门点击排行
 
版权所有 2006-2021:学习轻松网 Copyright http://www.xxqqss.com All rights reserved 浙ICP备14013707号-1
广告联系电话: 13958357030 联系QQ:9792414 工具条下载