Actionscript中如何处理数字精度?

2023-12-20

我有使用 BlazeDS 序列化到 Actionscript 的 BigDecimal 对象。一旦它们将 Actionscript 作为 Number 对象,它们就会具有如下值:

140475.32变成140475.31999999999998

我该如何处理这个问题?问题是如果我使用数字格式化程序 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/globalization/NumberFormatter.html精度为 2,则该值被截断为140475.31。有任何想法吗?


这是我的问题的通用解决方案(I have 在这里写了关于这个的博客 http://fraserchapman.blogspot.com/2007/05/rounding-to-specific-decimal-places.html):

var toFixed:Function = function(number:Number, factor:int) {
  return Math.round(number * factor)/factor;
}

例如:

trace(toFixed(0.12345678, 10)); //0.1
  • 0.12345678 by 10;这给了我们1.2345678.
  • 当我们绕圈时1.2345678,我们得到1.0,
  • 最后,1.0除以10 equals 0.1.

另一个例子:

trace(toFixed(1.7302394309234435, 10000)); //1.7302
  • 1.7302394309234435 by 10000;这给了我们17302.394309234435.
  • 当我们绕圈时17302.394309234435 we get 17302,
  • 最后,17302除以10000 equals 1.7302.

Edit

根据匿名回答below https://stackoverflow.com/a/1541929/74861,对方法上的参数进行了很好的简化,使得精度更加直观。e.g:

var setPrecision:Function = function(number:Number, precision:int) {
 precision = Math.pow(10, precision);
 return Math.round(number * precision)/precision;
}

var number:Number = 10.98813311;
trace(setPrecision(number,1)); //Result is 10.9
trace(setPrecision(number,2)); //Result is 10.98
trace(setPrecision(number,3)); //Result is 10.988 and so on

注意:我在这里添加了这个,以防万一有人将此视为答案并且不向下滚动......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Actionscript中如何处理数字精度? 的相关文章

  • 在 Flex 选项卡式视图导航器之间切换

    我正在开发 FlexTabbedViewNavigatorApplication具有三个选项卡 ViewNavigator 元素 我想根据用户操作 通过 ActionScript 代码 从一个 ViewNavigator 切换到另一个 Vi
  • 求反射角的弧度

    我正在编写一个简单的 Flash 游戏 只是为了学习 Flash 并提高我的数学能力 但我对弧度感到非常困惑 因为这对我来说是新的 到目前为止 我所做的是使用鼠标 单击并释放 使用弧度向该方向射出一个球 现在我想要发生的是 当球撞到墙壁时
  • Flex 字典字面量

    在 Flex 中工作 我需要用相当复杂的结构填充字典 基于本文档页面 http livedocs adobe com flex 3 html help html content 10 Lists of data 4 html我尝试通过以下语
  • html 表单发布到 Flex 应用程序

    我有一个基本完成的 Flex 应用程序 它使用 Zend AMF 来连接 提供数据 我的应用程序确实有一个登录屏幕 看起来工作正常 现在我想在我的网站上添加另一个登录表单 允 许用户输入用户名 密码 提交表单时应将数据传递给 Flex 应用
  • 在 C# 中加密并在 Flex 中解密

    我需要解密 Flex 中的一些数据 这些数据是用 C 加密并写入文件的 为了简单起见 我选择使用 as3crypto As3 库和 Bruce Schneier C 库 AS3 as3加密链接 http code google com p
  • 使用jquery调用AS3外部接口

    我正在使用ExternalInterface 调用嵌入在html 页面中的Flash 应用程序 以下代码工作正常 我正在使用按钮进行测试 document ready function button click function var a
  • 使用ExternalInterface和IE从JavaScript获取Flash中的当前URL

    我正在尝试获取 Flash 播放器当前所在的 URL 不是 swf 文件的 URL 而是浏览器指向的 URL 到目前为止我已经使用过 var st String ExternalInterface call window location
  • Flash Builder 条件编译变量

    我正在使用 Flash Builder 4 5 并且我想在调试和发布版本之间使用条件编译 我了解如何使用条件编译以及如何定义编译器常量 我需要的是 IDE 在调试和发布版本之间设置的预定义常量 一种在调试和发布版本之间为编译器指定不同参数的
  • Flash ActionScript 2 的压缩和解压缩工具

    您是否知道 flash actionscript 2 的任何 zip unzip 组件或脚本 我知道这个图书馆 http ntt cc 2008 01 19 actionscript class library fzip html对于 Fl
  • ActionScript、NetStream.Play.Failed iOS AIR 移动设备

    我正在尝试以类似于 Tiberiu Ionu Stan http stackoverflow com questions 2036107 aac mp4 not working in actionscript 3s netstream 的方
  • 从 mx:Image 复制位图数据

    如何从 mx image 组件复制位图数据 我需要在应用程序的多个屏幕中显示相同的图像 并且不想多次下载该图像 我可以只使用 urlrequest 将图像下载为位图并复制它 但我喜欢只设置图像组件的源的方式 Image延伸SWFLoader
  • Flex HTTPservice 和 POST,发送文件?

    我使用基本的 Post 将数据发送到 Django 服务器 数据由flex动态创建的base64编码的640 380 PNG图像组成 成分
  • 在没有流媒体服务器的情况下在 Flash 中录制 h.264 视频?

    是否可以在不需要流媒体服务器 如 fms wowza red5 的情况下从 Flash Actionscript 相机 即网络摄像头 保存 h 264 视频 我还想从麦克风获取样本数据 并在客户端对其进行转码 以便用户可以录制 h 264
  • AS3 中的堆栈限制 5287 是变量还是预定义的?

    我刚才做了一个测试 function overflow stack int 0 void if stack lt 5290 trace stack overflow stack 1 overflow 这总是会在之后抛出 StackOverf
  • Flex 中的数组与 ArrayCollection

    谁能解释一下 Flex 中 Array 和 ArrayCollection 之间的区别吗 根据 liveDocs ArrayCollection 类是一个包装器 将数组公开为的类 可以访问的集合以及 使用方法和操作 ICollectionV
  • AS3:如何获取文本字段中某些文本的左上角和确切的宽度和高度?

    我们正在努力获得一个Rectangle代表文本的精确 边界TextField 尽可能准确 拍摄这张图片 利用我目前的知识 我可以检索blue上面的矩形如下所示 var textRect Rectangle new Rectangle fie
  • Flex:监听文本区域中链接上的“悬停”

    我试图找出链接何时 悬停在 显示 html 文本的文本区域中 我想知道监听光标更改类型的事件是否可能是这样 我在文档中找不到任何内容 有谁知道我可以在这里收听什么活动吗 Thanks 这是一个非常有趣的问题 根据凯的建议 我想到了一种返回A
  • 如何在 CSS 中将 RadioButton 图标样式设置为无(在 Flex 3 中)?

    您可以通过在 CSS 中设置以下值来在 Flex 中设置 RadioButton 的外观 upSkin Embed overSkin Embed ownSkin Embed disabledSkin Embed selectedUpSkin
  • 如何在 Flex 中对 ArrayCollection 进行排序

    我想按 fieldName 升序对 Arraycollection 进行排序 这是我的代码 我想知道它是否正确 你有什么建议吗 public static function arrayCollectionSort ar ArrayColle
  • 如何进行 Flex 日期扣除和添加

    在 Flex 中 我试图进行日期扣除和添加 但找不到方法 例如 公共 var dateNow Date new Date 如何获得比现在日期早 3 个月的日期 谢谢 您可以为此使用 Date 构造函数 Date 构造函数的第一个参数采用年份

随机推荐