?
Solved

how to convert an integer to packed decimal in java

Posted on 2009-03-30
10
Medium Priority
?
874 Views
Last Modified: 2012-06-27
can some one help to provide sample code for converting integer to packed decimal
0
Comment
Question by:rishirajm
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
10 Comments
 
LVL 15

Expert Comment

by:fsze88
ID: 24025731
like this?
       System.out.println(get4DigitsFormat(4.323443));
        System.out.println(get4DigitsFormat(4.320));
        System.out.println(get4DigitsFormat(4));

    public  String get4DigitsFormat(double num) {
//        String format = "###,##0.0000";
        String format = "###,##0.####";
        DecimalFormat formatter = new DecimalFormat(format);
        num = (num == -0) ? Math.abs(num) : num; // to change -0 to 0
        return formatter.format(num);
    }
0
 

Author Comment

by:rishirajm
ID: 24026069
I need a logic to convert an integer to packed decimal format. please follow the url 'http://www.3480-3590-data-conversion.com/article-packed-fields.html' for packed decimal. thanks
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24026499
You might try the Microfocus COBOL library or JRecord:

http://jrecord.sourceforge.net/JRecord04.html#Header_10
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:rishirajm
ID: 24027141
I do not have to work with cobol file, however I need to convert an integer defined in java to packed decimal.
 
0
 
LVL 15

Expert Comment

by:fsze88
ID: 24027241
to simply way to using DecimalFormat and store the values into String object
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24027945
>>I do not have to work with cobol file

You'll still probably be able to use the source
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24029081
Try something like the following:
    public static int intToPackedDecimal(int val) {
        int result = 0xC;
        String sVal = Integer.toString(val);
        if (sVal.charAt(0) == '-') {
            sVal = sVal.substring(1);
            result = 0xD;
        }
        final int NYBBLE = 4;
        int nybbleIndex = 1;
        for(int i = sVal.length() -1;i >= 0;i--) {
            result |= ((sVal.charAt(i) - '0') & 0xF) << (NYBBLE * nybbleIndex++);
        }
        return result;
    }

Open in new window

0
 

Accepted Solution

by:
rishirajm earned 0 total points
ID: 24046031
Thanks CEHJ for your quick response. I was able to find solution at http://sourceforge.net/projects/zdecimal
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24047147
That's good, now you have two - as you can see mine works ;-)
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Suggested Courses
Course of the Month13 days, 17 hours left to enroll

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question