github.com/matrixorigin/matrixone@v0.7.0/cgo/external/decNumber/example5.c (about)

     1  /* ------------------------------------------------------------------ */
     2  /* Decimal Number Library Demonstration program                       */
     3  /* ------------------------------------------------------------------ */
     4  /* Copyright (c) IBM Corporation, 2001, 2007.  All rights reserved.   */
     5  /* ----------------------------------------------------------------+- */
     6  /*                                                 right margin -->|  */
     7  
     8  // example5.c -- decimal64 conversions
     9  
    10  #include "decimal64.h"             // decimal64 and decNumber library
    11  #include <stdio.h>                 // for (s)printf
    12  
    13  int main(int argc, char *argv[]) {
    14    decimal64 a;                     // working decimal64 number
    15    decNumber d;                     // working number
    16    decContext set;                  // working context
    17    char string[DECIMAL64_String];   // number->string buffer
    18    char hexes[25];                  // decimal64->hex buffer
    19    int i;                           // counter
    20  
    21    if (argc<2) {                    // not enough words
    22      printf("Please supply a number.\n");
    23      return 1;
    24      }
    25    decContextDefault(&set, DEC_INIT_DECIMAL64); // initialize
    26  
    27    decimal64FromString(&a, argv[1], &set);
    28    // lay out the decimal64 as eight hexadecimal pairs
    29    for (i=0; i<8; i++) {
    30      sprintf(&hexes[i*3], "%02x ", a.bytes[i]);
    31      }
    32    decimal64ToNumber(&a, &d);
    33    decNumberToString(&d, string);
    34    printf("%s => %s=> %s\n", argv[1], hexes, string);
    35    return 0;
    36    } // main