问题标签 [packed-decimal]

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 投票
4 回答
22024 浏览

numeric - 如何使用 SYNCSORT 格式化具有特定符号值的压缩十进制字段?

我想使用 SYNCSORT 将所有 Packed Decimal 字段强制为负号值。关键要求是第二个半字节必须是十六进制“D”。我有一个可行的方法,但它似乎太复杂了。按照 KISS 原则,我希望有人有更好的方法。也许在最后 4 位上使用位掩码?这是我想出的代码。有没有更好的办法?

0 投票
3 回答
6488 浏览

c# - 如何将未压缩的十进制转换回 COMP-3?

我曾问过一个关于转换 COMP 字段的问题,但我没有得到任何答案。

我希望堆栈溢出可以帮助我解决这个问题。

我成功地将 COMP-3 转换为十进制。我需要您的帮助,将解压的十进制转换回 COMP-3,使用任何高级编程语言,但最好使用 Java 或 c#.net。

0 投票
2 回答
3902 浏览

c# - C# 使用压缩小数在 EBCDIC 中编码文件

我必须为外部实体准备一个文件,该实体使用带有 COBOL 的 IBM 大型机,并要求该文件以 EBCDIC 编码。我正在用 C# 创建文件。我想这是一个由两部分组成的问题……首先,下面的代码是否足以确保以他们可以读取的方式生成文件?

其次,文件中的几个字段需要压缩十进制,格式为 S(9)13 COMP-3。由于我已经指定了 EBCDIC 编码,我可以使用以下方法将十进制数(例如 1234500000001)写入文件:

...并在生成的文件中正确显示?

从未对 EBCDIC 或 COMP-3 做过任何事情。

0 投票
4 回答
7210 浏览

decimal - 如何在单个文件中包含压缩十进制和普通文本?

我需要生成一个固定宽度的文件,其中包含少数压缩十进制格式的列和少数正常数字格式的列。我能够生成。我将文件压缩并传递给大型机团队。他们将其导入并解压缩文件并转换为 EBCDIC。他们能够毫无问题地获得压缩十进制列,但正常的数字字段似乎搞砸了并且不可读。在将文件发送到大型机之前,在处理/压缩文件时我需要做一些具体的事情吗?我正在使用 COMP3 压缩十进制。目前在 Windows XP 上工作,但真正的生产将在 RHEL 上。

提前感谢您帮助我。这是紧急的。


2011 年 6 月 6 日编辑:

这就是我打开 HEX 时的样子。

第一行中的“A”有轻微的重音,所以它不是实际的大写 A。

210003166 是原始小数。comp3 转换之前的压缩十进制值是 000000002765000(如果需要,我们可以忽略前导零)。


更新 2:2011 年 6 月 7 日 这就是我如何转换创建加载到大型机中的文件:文件包含两列 - 标识号和数量。识别号不需要comp3转换,金额需要comp3转换。Comp3 转换在 oracle sql 结束时执行。这是执行转换的查询:

执行查询后,我在 Java 中执行以下操作:

这样生成的文本文件由winzip工具手动压缩并提供给大型机团队。大型机团队将文件加载到大型机并使用 HEXON 浏览文件。

现在,来到分区十进制的高四位的转换,我应该在将它纠正到文件之前这样做吗?还是我要在大型机端应用翻转?目前,我已经使用以下代码在 java 端完成了翻转:

标识符在 java 端变为 21000316F,这就是写入文件的内容。我已将文件传递给大型机团队并等待 HEXON 的输出。如果我遗漏了什么,请告诉我。谢谢。


更新 3:2011 年 6 月 9 日

好的,我得到了大型机结果。我现在正在这样做。

我得到以下输出:

我一定是做错了什么!

更新 4:2011 年 6 月 14 日

在使用 James 的建议后,这个问题得到了解决。我目前正在使用下面的代码,它给了我预期的输出:

0 投票
1 回答
5261 浏览

sql - SQL 如何获得 COMP-3 压缩十进制?

我正在创建一个包含一些信息的 ASCII 输出文件,并且我的两个字段要求日期和时间位于压缩十进制字段 (COMP-3) 中。我正在使用 SQL 和 SSIS 来生成我的文件。

我搜索了多个站点,但仍然无法弄清楚如何将日期/时间转换为压缩十进制字段。任何帮助将不胜感激。

以下站点http://www.simotime.com/datapk01.htm#TablePackedDecimal提供了有关打包字段的信息。我了解如何使用打包字段,但并不真正了解如何打包字段。谢谢!

0 投票
2 回答
3142 浏览

java - COBOL DATATYPE CONVERSION: Number to Packed Numeric, Packed Date COMP-3

我正在尝试将 Number 转换为 PACKED DEMCIMAL,从网络研究编号 123 将是 123D(如果为负数则为 C)作为打包数字,我的问题是“这是正确的 PACKED DEMCIMAL 吗?” 因为我有状态的要求,日期将存储在 3 字节的压缩数字中,长度只有 2 位。

请解释或清除我的疑问。

0 投票
3 回答
268 浏览

cobol - COBOL 打包数据类型:Type = P5

对于 COBOL 专家来说,这可能是一个非常基本的问题。但到目前为止,我与 COBOL 毫无关系。我们正在根据字符位置处理一些文件。这些文件是从大型机发送给我们的,我们有一个布局文件,上面写着这样的内容。


位置 : 长度 : 类型 : 描述
----------:--------:------:---------------- ---------------

61-70 : 10 : P5 : FIELD-1 9(13)V(05)

71-80 : 10 : P5 : Field-2 9(13)V(05)

81-81 : 1 : A/N : 标志

82-84 : 3 : N : 天数 9(3)

我知道 A/N 类型意味着它是字母数字。N 表示数字,P 表示打包数据类型。我不明白的是P5是什么意思。P旁边的5有什么意义?

0 投票
4 回答
13964 浏览

ascii - 如何使用 Java 解压缩 COMP-3 数字?

我有巨大的大型机文件,并且该文件中有一些压缩数字。我想知道如何使用java解压后面的数字?

压缩数字:?

我阅读了解包数字的教程,发现以下规则来计算解包数字所需的字节数:

total_number_of_bytes = (no. of digits + 1) / 2

我编写了以下代码来解压缩数字:

该程序适用于整数类型值,但不适用于浮点类型值。

谁能告诉我的程序是否正确?

0 投票
0 回答
277 浏览

php - php字符串为十六进制

我必须像十六进制字符一样写 ascii 数字(不是字母)。一个字节必须包含 2 位数字(每半字节一个),假设这是我要写入文件的字符串 '0665879955443322' 并且这个结果 06 65 87 99 55 44 33 22(8 字节)我想要!(如打包格式)我尝试执行类似操作的示例

php

现在我的代码不起作用!

如何传输 $a $b $c 喜欢的字节?

非常感谢

0 投票
2 回答
1483 浏览

character - 在C程序中将压缩十进制字符数组转换为整数

我需要编写一个 C 程序来将缓冲区中的压缩十进制字段转换为整数值。压缩十进制的精度是 9,Scale 是 0。在 IBM 大型机 C 程序中转换它的最佳方法是什么?在 Cobol 中,使用的 Packed Decimal 格式是 Comp-3 任何帮助都非常感谢。