- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看下面的代码,为什么Trunc函数的结果不一样?
procedure TForm1.Button1Click(Sender: TObject);
var
D: Double;
E: Extended;
I: Int64;
begin
D := Frac(101 / 100) * 100;
E := Frac(101 / 100) * 100;
I := Trunc(D);
ShowMessage('Trunc(Double): ' + IntToStr(I)); // Trunc(Double): 1
I := Trunc(E);
ShowMessage('Trunc(Extended): ' + IntToStr(I)); // Trunc(Extended): 0
end;
最佳答案
格式化函数并不总是显示实际数字(数据)。
实数和精度可能很棘手。
看看这段代码,我对我想在屏幕上看到的内容使用了更精确的方法:
D := Frac(101 / 100);
E := Frac(101 / 100);
ShowMessage(FloatToStrF(D, ffFixed, 15, 20));
ShowMessage(FloatToStrF(E, ffFixed, 18, 20));
看起来D
类似于0.010000000000
,而E
类似于0.00999999999
。
编辑: Extended
类型比 Double
类型具有更好的精度。如果我们尝试使用 FloatToString() 显示 D 和 E 的值,我们可能会得到相同的结果,即使实际值并不相同。
关于delphi - Trunc() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1398295/
使用方法 TRUNC SQL Server 2012 中的函数,因为我收到错误: 'TRUNC' is not a recognized built-in function name.' 当我执行语句
看下面的代码,为什么Trunc函数的结果不一样? procedure TForm1.Button1Click(Sender: TObject); var D: Double; E: Exten
我想在javascript中 chop 一个数字,即去掉小数部分: chop (2.6)==2 trunc (-2.6) == -2 经过大量基准测试后,我的答案是: function trunc
下面的代码在 Chrome 中运行良好,但在 IE 浏览器中我看到以下控制台错误: object does not support property or method 'trunc' 代码: var
java.lang.Math 类有 ceil()、floor()、round() 方法,但没有 trunc() 方法。 同时,我在实践中看到 .intValue() 方法(实际上执行 (int) 转换
tl;dr: double b=a-(size_t)(a) 比 double b=a-trunc(a) 快 我正在为图像实现旋转功能,我注意到 trunc 功能似乎非常慢。 图像的循环代码,像素的实际
oracle trunc()函数是最常用的函数之一,下面就为您介绍oracle trunc()函数的用法,供您参考,希望可以让您对oracle trunc()函数有更深的认识。 1.TRUNC(f
从 1.3.172 版本开始,有一个 TRUNC 函数,它模仿了 Oracle 的 TRUNC(TIMESTAMP)。实现过程中存在一个小问题。查询: select TRUNC(TIMESTAMP '
我有两个不同大小的变量“a”和“b”,见下文。我有几个问题: (1) 如何将“a”的值复制到“b”? (即扩展操作) (2) 如何将“b”的值复制到“a”? (即截断操作) 谢谢。 a = BitVe
select trunc('11.01') from dual 输出:11 jasper 报告中的 BigDecimal 数据类型是什么。是否有任何解决方法可以将其作为字符串。 最佳答案 Oracle
我需要限定来自 Oracle 数据库的查询以获取基于特定日期范围的报告 第一个查询 5pm-7am(昨天下午 5 点到今天早上 7 点之间) 第二个查询 早上 7 点到下午 5 点((昨天下午 5 点
我尝试在 Blender 2.49b Python 中使用 math.trunc 但我收到此错误 AttributeError: 'module' object has no attribute 't
我正在尝试使用以下方法截断 PostgreSQL 中的数字: SELECT trunc(31.71429,15); 我有这个输出: 31.714290000000000 但是在 Oracle 中我有这
我有旧的pascal代码 var i : longint; m : double; begin ..... i := trunc(m); 我必须将它转换为 C++ 代码。 这里很明显的
本文给大家分享的oracle trunc 函数处理日期格式的相关知识,非常具有参考价值,具体请看下文说明吧。 复制代码代码如下: select to_char(sys
我来自 SQL Server 世界,有人要求我弄清楚一段(古老的)Oracle 脚本是怎么回事。 CAVEAT: I don't have access to the Oracle server, I
在通过 Java 库翻译 Google Translate API 中的短语时,我突然得到了同样奇怪的标记。英语 → 瑞典语的示例包括: Vector graphics → vektor~~POS=T
为什么 从双中选择 trunc(to_date('23/06/2017','DD/MM/YYYY'), 'DAY'); 返回 2017年6月19日 不是预期的 2017年6月23日? 我们使用的是 O
我有一个包含每小时数据和值(value)的简单表格。我想计算每个月每日最大值的平均值。 该查询起初看起来很简单: WITH daily_max AS ( SELECT TRUNC(the_date
trunc()有什么区别和 as.integer() ? 为什么是 as.integer快点?谁能解释一下幕后发生了什么? 为什么trunc()返回类double而不是 integer ? x 43
我是一名优秀的程序员,十分优秀!