- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我预计结果会是 87.29。我也尝试了 SimpleRoundTo,但产生了相同的结果。
在帮助中还有一个“奇怪”的例子:ms-help://embarcadero.rs2010/vcl/Math.RoundTo.html
RoundTo(1.235, -2) => 1.24
RoundTo(1.245, -2) => 1.24 //???
有人知道我需要哪个函数才能得到 87.29 的结果吗?我的意思是:如果最后一位 >= 5 向上舍入,如果 < 5 向下舍入。正如学校所教:)
我使用 Delphi2010 和 SetRoundMode(rmNearest)
。我还尝试使用 rmTruncate
。值 87.285 存储在 double
变量中。
也很奇怪:
SimpleRoundTo(87.285, -2) => 87.29
但是
x := 87.285; //double
SimpleRoundTo(x, -2) => 87.28
最佳答案
精确值 87.285 在 Delphi 中不能表示为浮点值。 A page on my Web site显示该值的实际含义,如 Extended、Double 和 Single:
87.285 = + 87.28500 00000 00000 00333 06690 73875 46962 12708 95004 27246 0937587.285 = + 87.28499 99999 99996 58939 48683 51519 10781 86035 1562587.285 = + 87.28500 36621 09375
默认情况下,Delphi 中的浮点文字具有扩展类型,如您所见,您的数字的扩展版本略高于 87.285,因此舍入到最接近的值会向上舍入是正确的。但作为Double,实际数字略低。这就是为什么如果在调用 RoundTo
之前将数字显式存储在 Double 变量中,就会得到预期的数字。 Delphi 的每种浮点类型都有该函数的重载。
关于delphi - 为什么 RoundTo(87.285, -2) => 87.28 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25519621/
我需要将 float 四舍五入到小数点后两位,但总是向下舍入。现在我使用 RoundTo(number, -2),但它在数学上正确地进行舍入,这对于我的情况来说是不期望的行为。把原因,为什么我需要这样
问题简单又奇怪!我在Delphi中编写了一个程序并使用了roundto函数。在一台计算机中 1.5 四舍五入为 2,而在另一台计算机中则四舍五入为 1。怎么会发生这种事? PS:代码------> R
我在 Delphi 2010 中遇到了舍入奇怪的问题,其中一些数字在 roundto 中向下舍入,但在 formatfloat 中向上舍入。 我完全意识到十进制数的二进制表示有时会给出误导性的结果,但
根据这个问题: Calling template function without <>; type inference我将来要使用的 round 函数现在看起来像: template TOut r
我正在尝试根据 Application Insights 日志中的某些指标创建自定义指标警报。下面是我正在使用的查询; let start = customEvents | where customD
我预计结果会是 87.29。我也尝试了 SimpleRoundTo,但产生了相同的结果。 在帮助中还有一个“奇怪”的例子:ms-help://embarcadero.rs2010/vcl/Math.R
我预计结果是 87.29。我也尝试过 SimpleRoundTo,但产生了相同的结果。 帮助中还有一个“奇怪”的例子:ms-help://embarcadero.rs2010/vcl/Math.Rou
我是一名优秀的程序员,十分优秀!