问题标签 [truncation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
189 浏览

c# - 如何防止在非零数字之前输入零?

在 C# 中,WinForms 如何停止以下输入:

0000000000001234556

0000.123456

00000123456.123456

0 投票
1 回答
123 浏览

mongodb - MongoDB疯了?匹配错误的文件

我在 64 位 Ubuntu 12.04 版本上使用 MongoDB 2.2.3。我的 Mongo Shell 中的输出如下:

如您所见,匹配条件中给出的数字返回的数字不同。_id 字段没有相同的值。

0 投票
4 回答
6535 浏览

delphi - 将货币四舍五入

我有以下代码来舍入货币

到目前为止它运行良好,我现在的问题是,如果我想对像999999989000.40这样的货币进行舍入,它会给出负值,因为 Truc 采用 int 并且 MyRound 也返回 int。

我可能的解决方案是将货币转换为字符串并在. 并将字符串转换回货币。这是一个正确的方法吗?我是delpi的新手,所以请帮帮我。

0 投票
1 回答
646 浏览

ssis - 由于截断问题,DTS pkg 转换为 SSIS 失败

我遇到了一个问题,我需要将 DTS pkgs 带到新服务器并让它们作为计划的 SQL 作业运行。我已经进入 DTS pkg 并编辑了连接以包括新的 2008 服务器名称和新的 UNC 路径。DTS 包采用固定长度的平面文件并将这些值加载到 db 表中。编辑 DTS 后,我导出到结构化 DTS 包文件。然后我转到新服务器并使用迁移向导将 DTS 转换为 DTSX 文件。完成后,我将 DTSX 导入具有“依赖服务器存储和角色进行访问控制”保护级别的集成服务。

然后我运行该软件包,但由于以下原因而失败:

我正在使用与旧服务器中使用的相同的包...和平面文件,它在旧服务器上运行良好。它试图复制到的表具有具有相同特征的相同列......所以试图了解这个错误来自哪里。

非常感谢任何帮助

0 投票
8 回答
47744 浏览

excel - 从 Excel 导入到 Access 备注字段时截断的数据

当我附加 Excel 文件时,Access 会截断几个备注字段中的数据。Access 表中的字段已设置为备注类型。我认为问题在于我在某些备忘录字段的前几行中没有任何条目。Access 假设数据是一个文本字段,即使我已经将它设置为备忘录类型。

我尝试附加为 CSV。不工作。

我已将虚拟数据放在超过 255 个字符限制的第一行,如果我这样做,数据不会被截断。

我不想每次必须导入 Excel 文件时都输入虚拟数据。这是一个至少每两周完成一次的过程,可能更频繁。我想建立一种简单的方法来为使用同一数据库的未来员工导入数据。有任何想法吗?

更新:即使前几行中有虚拟数据,当我导入 Excel 文件时,Access 也会截断 10 个备忘录字段中的 3 个的数据(虚拟数据的字符长度为 785)。现在我真的无所适从。

0 投票
1 回答
905 浏览

sql-server - 为什么我的 tsql varbinary 数据被截断

如果我从注册表中获取我的时区信息到 ​​SQL 中,我会得到完整的 TZI 数据结构:

它返回完整的二进制值

'0xE0010000000000000C4FFFFFF00000B0000000100020000000000000000000300000002000200000000000000'

但是,如果我将它存储在这样的变量中:

然后SELECT @TZI AS TzInfo返回'0xE001'

我已经尝试了所有我能想到的二进制/varbinary 和长度(包括 MAX)排列。

有任何想法吗?

0 投票
1 回答
1132 浏览

sql-server-2005 - 为什么我的 CASTS 在 SSIS 中似乎被忽略了?

我在 SSIS 中使用数据流任务将数据从一台服务器 (SQL Server 2005) 获取到另一台服务器 (SQL Server 2008 R2)。在OLE DB Source连接中,我使用 SQL 命令来获取数据。在这个命令中,我已经将内容转换为某种数据类型:

(请注意,转换是转换为源数据库中列值的原始数据类型。因此 column1 的数据类型最初VARCHAR(10)是 ,column4的数据类型最初是VARCHAR(255),等等。)

之所以使用这些强制转换,是因为在包中我收到了以下关于column3and的警告column4

验证警告。[...] 由于将数据从长度为 8000 的数据流列“column4”插入到长度为 255 的数据库列“column4”,可能会发生截断。

似乎强制转换不起作用,因为 column3 和 column4 的截断警告不断出现。(我已经将OLE DB Source中的截断警告设置为Ignore failure,但这似乎没有什么区别。)

我在网上找不到任何东西,暂时将通过将列导入为VARCHAR(8000). 但我很想知道 SSIS 中这种行为的原因是什么。有人有线索吗?

0 投票
3 回答
15380 浏览

mysql - MySQL 数据库中的数据被截断我需要更多了解是什么原因造成的?

每次插入用户名和密码的数据行时,我总是收到此警告消息。我使用的功能是密码 MD5 和用户名当前用户。

我所做的是将用户名和密码的功能留空,现在它成功插入而没有警告,但我当然不能让密码不加密。

我试图在互联网上搜索这种问题,但它们很难理解。我需要知道的是每次我为发生警告的行设置函数时导致此问题的原因是什么?

这是警告说的。

插入 1 行。

警告:#1265 第 1 行的“用户名”列的数据被截断

警告:#1265 第 1 行的“密码”列的数据被截断

0 投票
2 回答
6893 浏览

c++ - 有没有一种正统的方法来避免编译器警告 C4309 - 二进制文件输出的“常量值截断”?

我的程序执行将二进制数据写入文件的常见任务,符合某种非文本文件格式。由于我正在写入的数据尚未存在于现有块中,而是在运行时逐字节放在一起,因此我使用std::ostream::put()而不是write(). 我认为这是正常程序。

该程序运行良好。它同时使用std::stringstream::put()std::ofstream::put()使用两位十六进制整数作为参数。但是每当参数put()大于 0x7f 时,我都会收到编译器警告 C4309:“常量值截断”(在 VC++ 2010 中)。显然编译器期望 a signed char,并且常量超出范围。但我认为实际上并没有发生任何截断。字节就像它应该的那样被写入。

编译器警告让我觉得我没有以正常的、可接受的方式做事。我描述的情况必须是常见的。有没有避免这种编译器警告的常用方法?或者这是一个应该忽略的毫无意义的编译器警告的例子?

我想了两种不优雅的方法来避免它。我可以mystream.put( char(0xa4) )在每次通话时使用语法。或者std::stringstream我可以使用而不是使用std::basic_stringstream< unsigned char >,但我认为该技巧不适用于std::ofstream,它不是模板类型。我觉得这里应该有更好的解决方案,特别是因为ofstream它是用来编写二进制文件的。

你的意见?

- 编辑 -

啊,我误认为std::ofstream不是模板类型。实际上是这样std::basic_ofstream<char>,但我尝试了那个方法,并意识到由于缺少定义的方法和与std::ostream.

这是一个代码示例:

0 投票
1 回答
2298 浏览

email - 可以在电子邮件中安全使用的最大 url 长度是多少?

我的网站发送了一封电子邮件,其中包含一个链接。最近我们收到了很多错误,表明我们发送的电子邮件中的 URL 出现了乱码。不幸的是,我们没有任何日志表明他们试图访问的网址是什么。我已经排除了许多可能性(错误的数据、错误的 url 编码等)我唯一没有排除的是,我们的用户电子邮件客户端可能会截断 url。每个用户的 URL 略有不同,但通常 URL 的长度为 210 - 220 个字符。

我的问题:根据经验,可以在电子邮件客户端中安全发送的最大 url 长度是多少,以确保一致的行为?

更新

我知道有很多关于最大 URL 长度的问题,但我的问题是特定于电子邮件客户端中的超链接的,我似乎找不到。