Я пытаюсь отладить проблему с приложением perl, которое вызывает некоторые программы на c для редактирования текста.
BATCH_JV_CSH_MAX используется для проверки максимального значения поля суммы. В настоящее время он указывает на ошибку, если сумма превышает 99 999 999,99. Предполагается принимать значения до 999 999 999,99. В любом случае, это то, что указано в документации.
Вот оно во включаемом файле:
#define PROJ_SZ 6
#define REF_SZ 9
#define DESC_SZ 22
#define TRAN_AMT_MAX 9999999999e0
#define BATCH_AMT_MAX 9999999999e0
#define BATCH_JV_CSH_MAX 99999999999e0
#define BATCH_CNT_MAX 99999
Я пока не знаю, как работает программа. Вероятно, он удаляет любое значение, кроме числа, и объединяет символы. Я хочу знать, что означает «е0» в конце суммы, прежде чем я продолжу. Я провел поиск текста в нескольких книгах по программированию в Safari, прежде чем решил задать эту группу.
Это значение выводится в сообщении об ошибке, поэтому значение '999999999' является более значимым, чем 1e9
.
Значение используется так:
/* Batch total amount 1 - debit dollars */
/* Check for overflow */
if (fabs(get_tot_amt1()) > BATCH_JV_CSH_MAX)
{
fprintf(stderr, "\n*** Error: Transaction debit amount overflow\n");
fprintf(stderr, "\n*** Maximum expected: %.0f\n",
BATCH_JV_CSH_MAX);
return (FALSE);
}
sprintf(in_batch_sum.batch_debit_amt, "%011.0f", get_tot_amt1());
get_tot_amt1 () получает значение tot_amt1, которое было вычислено в другой программе c. Это «статический дубль».
Да, у меня много работы. Это часть процесса, который считывает запись с разделителем пробелом и записывает запись фиксированного формата.
Спасибо.
Cathy