ColdFusion 轮函数

2023-11-25

今天我遇到了意想不到的行为或缺乏对 ColdFusion 9,10,11 Round 函数的了解,这是我的场景

Round(28.5) ---> 预期结果为 29
Round(0.285*100) ---> 结果不是预期的 28
Round( precisionEvaluate(0.285*100)) ---> 使用 precisionEvaluate 结果是 29!
Round(Evaluate(0.285*100)) ---> 使用 Evaluate 结果是 29!
这不是大十进制,为什么我需要对数字使用 precisionEvaluate 或 Evaluate ?

在进一步的研究中,我发现了更有趣的行为
Round(0.285*100) 结果是 28 --为什么?我期待29--!
Round(0.295*100) 结果是 30 ---- 正确!
Round(0.275*100) 结果是 28 ---- 正确!
Round(0.185*100) 结果是 19 ---- 正确!
Round(0.385*100) 结果是 39 ---- 正确!

0.285*100 有什么大不了的?


这不是十进制数的精度,而是底层浮点数在 Java 中的存储方式。这表明:

<cfoutput>
<cfloop array="#[0.275,0.285,0.295]#" index="s">
#s.getClass().getName()#
<cfset f1 = s + 0>
#f1.getClass().getName()#
#f1.toString()#
<cfset f2 = f1*100>
#f2.toString()#
#round(f2)#<br>
</cfloop>
</cfoutput>

Output:

java.lang.String java.lang.Double 0.275 27.500000000000004 28

java.lang.String java.lang.Double 0.285 28.499999999999996 28

java.lang.String java.lang.Double 0.295 29.5 30

我只能假设在执行时从字符串转换为浮点时 CF 使用更好的精度<cfset f1 = s + 0>因为那里没有狡猾的四舍五入。然而,在执行乘法步骤后,我们遇到了精度错误。28.5 最终略低于 28.5,因此四舍五入为 28,而不是 29。这只是一个二进制分数算术问题。

顺便说一句,0.285 没有什么特别的。许多数字都会受到类似的影响(看看从 0.005 到 5.05 的范围)。您只是碰巧选择了一堆不是的(0.285 除外)。

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

ColdFusion 轮函数 的相关文章

  • 如何确保整数除法始终向上舍入?

    我想确保如有必要 整数除法总是向上舍入 还有比这更好的方法吗 目前正在进行大量选角工作 int Math Ceiling double myInt1 myInt2 更新 这个问题是我2013年1月博客的主题 http ericlippert
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • C# 中的工作百分比

    我有两个值 其中一个是十进制值 和另一个值 该值将计算该小数值的百分比 例如 10 的 60 6 decimal value1 10 decimal percentage 60 textbox1 text mathsum here toSt
  • 从 x,y 屏幕空间坐标查找 2D 等距网格上的列、行(将方程转换为函数)

    我试图在屏幕空间点 x y 的二维等距网格中找到行 列 现在我几乎知道我需要做什么 即找到上图中红色向量的长度 然后将其与表示网格边界的向量的长度 由黑色向量表示 进行比较 现在我在数学堆栈交换中寻求帮助 以获得用于计算点 x y 与黑色边
  • java数学中的组合“N选择R”?

    java库中是否有内置方法可以为任何N R计算 N选择R 公式 实际上很容易计算N choose K甚至不需要计算阶乘 我们知道 公式为 N choose K is N N K K 因此 公式为 N choose K 1 is N N N
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3
  • 是什么导致 Java(冰雹序列)在我的程序中崩溃

    我制作了一个执行 通常称为 冰雹序列的程序 该程序基本上执行以下操作 创建一个int 值 并为其分配一个值 如果 int 是偶数 则将其除以二 如果 int 为奇数 则将其乘以三并加一 继续这个过程 直到 n 等于 1 它似乎适用于大多数数
  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the
  • 使用 Coldfusion 11 的 CFdirectory,文件名中存在非 ASCII 字符问题

    我有一个类似的问题 ColdFusion CFDirectory 和法语 https stackoverflow com questions 1715632 coldfusion cfdirectory and the french从而没有
  • 为什么 Math.Round 不返回 int? [复制]

    这个问题在这里已经有答案了 在 C 中 为什么舍入数学函数 Floor Ceiling 和 Round 不返回int 考虑到函数的结果始终是整数 为什么它返回一个float double or decimal double has the
  • 为 javascript 编写一个真正具有包容性的随机方法

    Javascript MATH 对象有一个随机方法 该方法从集合 0 1 返回 0 含 0 1 不包括 有没有办法返回一个真正随机的方法 其中包括 1 e g var rand MATH random 2 if rand gt 1 rand
  • 计算向量的导数

    我有以下函数 维维亚尼曲线 Phi t cos t 2 cos t sin t sin t 只需检查它是否有效 s linspace 0 T 1000 plot3 cos s 2 cos s sin s sin s 如何推导函数Phi 可能
  • 在unity3D中显示数学方程

    我想使用它的 GUI 系统统一显示数学方程 有办法吗 我正在使用 C 语言在 Unity 中进行编程 如果我还可以使用 C 代码显示数学符号 这对我来说会很有用 谢谢 自 2016 年起 您可以使用TEXDraw https assetst
  • 在 ColdFusion 中调用 String 上的底层 java 方法是否安全?

    Adobe ColdFusion 基于 Java 构建 CFML CFSCRIPT 中几乎所有简单变量都是java lang String直到操作需要它是某种类型 我一直想用startsWith in String而不是体积更大的 CFML
  • 如何在coldfusion中对HTML表单进行编码?

    我是冷聚变新手 我有一个名为 test1 cfm 的页面
  • 在现代 x86-64 上计算 64 位整数的整数 Log10 的最快方法是什么?

    标题 我找到了大量 32 位示例 但没有找到完整的 64 位示例 使用这个帖子 https codegolf stackexchange com questions 47290 fastest way to compute order of
  • 为什么 Math.Atan(Math.Tan(x)) != x?

    如果 tan x y 并且 atan y x 为什么 Math Atan Math Tan x x 我正在尝试计算 x 例如 tan 2 x 3 5 so atan tan 2 x 3 atan 5 等等 但我已经尝试过 double d
  • 线性问题和非线性问题之间的区别?点积和核技巧的本质

    核技巧将非线性问题映射为线性问题 我的问题是 1 线性问题和非线性问题的主要区别是什么 这两类问题的差异背后的直觉是什么 核技巧如何帮助在非线性问题上使用线性分类器 2 为什么点积在这两种情况下如此重要 Thanks 当人们说到分类问题的线
  • Python OverflowError:数学范围错误[重复]

    这个问题在这里已经有答案了 当我尝试这个计算时 出现溢出错误 output math exp 1391 12694245 100 我知道发生这种情况是因为使用的数字 超出了双精度数的范围 但有什么方法可以解决这个问题并获得输出值 有人可以帮
  • 使用jquery和coldfusion cffile上传多个文件

    不是一个真正的问题 只是想将其发布在某个地方 因为我在其他地方找不到它 现在我已经拼凑了一个工作演示 我想我会分享 这在 Coldfusion 和 Railo CFML 服务器上同样有 效 问题是 对于 CFML 开发人员来说 CFFILE

随机推荐

  • AngularFire - 如何查询非规范化数据?

    好的 我刚刚开始使用 Firebase 我读过这个 https www firebase com docs data struct html我读过这个 https www firebase com blog 2013 04 12 denor
  • C++ 结构体的 stlpriority_queue

    我们如何使用STLpriority queue对于结构 任何插图推入和弹出的过程中 结构体有多种数据类型 Say struct thing int a char b glass 10 现在我如何使用 int a 将这个结构放在priorit
  • Thread.CurrentThread.Join() 什么时候有意义?

    调用 Thread CurrentThread Join 的效果是什么 是否 何时调用它才有意义 真的是吗 CurrentThread Join 你在真实代码中看到的 我有点怀疑 除非这是一些阻止其他线程加入当前线程的黑客 或者是 Curr
  • spring-cloud-starter-openfeign:无效的 HTTP 方法:PATCH 执行 PATCH

    Context 我有一个 Spring Boot 版本 2 2 6 RELEASE Web 项目 从这个 Web 应用程序 我称之为 APP1 中 我想使用另一个 Web 应用程序 我们称之为 APP2 的 PATCH 方法调用另一个 UR
  • NSCollectionView 与部分 - 就像在 iPhoto 中一样

    我想构建一个类似于 iPhoto 11 中的 NSCollectionView 我想将几张图片分组到部分中 并创建一个部分标题 特定节的节标题始终可见 直到该节的最后一个元素可见 你可以看看图片就明白我的意思了 编辑 我应该补充一点 内容不
  • C# 中的延迟函数

    我需要了解如何在一组命令之间创建延迟 我的背景是 C DOS 现在在 Visual Studio 2015 中使用 C 重温这些概念 这是我正在努力解决的代码 using System Threading private void butt
  • 如何在 Cloud Api Gateway 的响应正文中添加一些数据

    我正在将一些身份验证逻辑添加到云 api 网关中 我添加了网关过滤器 import java util List import org springframework cloud gateway filter GatewayFilter i
  • 我想在我的手机上安装未签名的 apk 文件。该怎么办? [关闭]

    Closed 这个问题是无关 目前不接受答案 我已经构建了一个应用程序 我通过Eclipse APK导出它 我有 APK 文件 我想将其发送给我的父亲 在另一个国家 因此无法做很多技术工作 以便他可以安装它并查看我的进度 如果没有在 Pla
  • 使用 AVFoundation 切换摄像头时视频冻结

    我制作了一个具有捕获和保存视频功能的应用程序 我为此使用了 AVFoundation苹果的AVCam一直是我的向导 我希望我能说清楚 一切工作正常 直到我第一次释放处理 AVCamCaptureManager 的 videoViewCont
  • 为什么 if 语句中的表达式顺序很重要

    假设我有一个IF健康 状况 if A B left do something 现在假设A那么更有可能获得真实值B 为什么我要关心左边哪一个 如果我把它们都放在IF括号 那么我就知道 作为代码的程序员 双方都是需要的 问题是 我的教授在他的讲
  • Laravel Eloquent 嵌套查询

    我正在使用 Laravel 并陷入了困境 我有以下型号 类别 Product 类别产品 CategoryProduct保存有关哪个产品属于哪个类别的信息 一个产品可能属于多个类别 现在 当我想加载属于特定类别的所有产品时 我需要运行查询Pr
  • 根据浏览器包含不同的 JavaScript 文件?

    我只想在浏览器不是 IE 时才包含 JavaScript 文件 有什么办法可以做到这一点吗 2022 年更新 为您提供一些选择 让您的服务器查看User Agent标头并向 Internet Explorer 发送与其他浏览器不同的 HTM
  • Android 中使用 java 的方法 Swizzling

    是否可以使用java在android中进行方法调配 我想拦截一个系统方法并记录其参数 然后正常处理它 我认为该技术不能在任何环境中使用 Java 来使用 也许您可以使用 AOP 获得类似的结果 但在 Android 上你能用它做的事情看起来
  • 对未命名临时对象的引用(生命周期)

    看完之后这个答案 from ildjarn 我写了下面的例子 看起来一个未命名的临时对象和它的引用有相同的生命周期 这怎么可能 C 标准中有规定吗 哪个版本 源代码 include
  • 从网络位数转换为网络掩码的最佳方法是什么?

    例如 如果我有一个像 172 20 10 0 24 这样的网络规范 24 就是位数 将其转换为像 0xffffff00 这样的网络掩码的最佳方法是什么 假设 32 位掩码和 32 位 int int keepBits 24 actually
  • 将多个模型的回归系数打印到共享数据框

    我知道这有点初级 基本上 我想将 coef 函数中的保存数据用于模型的共享数据框架 这些模型都从更大的共享数据集中提取有限的可能变量 我有3套14个模型 每组使用 100 个变量数据集中的 15 25 个变量 每个模型混合使用约 12 个变
  • 获取 cdk-virtual-scroller 中的静态组件引用? (参考文献已回收)

    我们最近将可滚动列表转换为 CDK Virtual Scroller Angular 7 2 12 和 Angular cdk 7 3 7 简而言之 似乎VirtualScrollViewport正在回收组件实例 而不仅仅是文档建议的模板
  • 使用带槽的 Python 描述符

    我希望能够在具有插槽优化的类中使用 python 描述符 class C object slots a a MyDescriptor a def init self val self a val 我遇到的问题是如何实现描述符类 以便能够在调
  • PHP 计算字符串中所有字母的出现次数

    我想计算字符串中所有字母出现的频率 说我有 str cdcdcdcdeeeef 我可以使用 str split 和 array count values 来实现此目的 array count values str split str 想知道
  • ColdFusion 轮函数

    今天我遇到了意想不到的行为或缺乏对 ColdFusion 9 10 11 Round 函数的了解 这是我的场景 Round 28 5 gt 预期结果为 29 Round 0 285 100 gt 结果不是预期的 28Round precis