/* ------------------------------------------------------------------ */
/* Decimal Number Library Demonstration program */
/* ------------------------------------------------------------------ */
/* Copyright (c) IBM Corporation, 2001, 2007. All rights reserved. */
/* ----------------------------------------------------------------+- */
/* right margin -->| */
// example1.c -- convert the first two argument words to decNumber,
// add them together, and display the result
#define DECNUMDIGITS 34 // work with up to 34 digits
#include "decNumber.h" // base number library
#include <stdio.h> // for printf
int
main(
int
argc,
char
*argv[]) {
decNumber a, b;
// working numbers
decContext set;
// working context
char
string[DECNUMDIGITS+14];
// conversion buffer
decContextTestEndian(0);
// warn if DECLITEND is wrong
if
(argc<3) {
// not enough words
printf
(
"Please supply two numbers to add.\n"
);
return
1;
}
decContextDefault(&set, DEC_INIT_BASE);
// initialize
set.traps=0;
// no traps, thank you
set.digits=DECNUMDIGITS;
// set precision
decNumberFromString(&a, argv[1], &set);
decNumberFromString(&b, argv[2], &set);
decNumberAdd(&a, &a, &b, &set);
// a=a+b
decNumberToString(&a, string);
printf
(
"%s + %s => %s\n"
, argv[1], argv[2], string);
return
0;
}
// main