Jump to content

Packed Decimals In Java ... Any Idea


Recommended Posts

Posted

Oka packed decimal ni string ki convert cheyali java lo .. Any idea

Posted

[quote name='LungiLingaraju' timestamp='1382024397' post='1304428875']
Oka packed decimal ni string ki convert cheyali java lo .. Any idea
[/quote]


format elaa untadhi bhayyaa.. example okat ipadey packed decimal di

Posted

Packed decimal ante 2characters are considered as one anta. ... Naaku bank account ani 12233 undi deenni string ki convert cheyali ... Input Asal idi crct oo kaadu lead ni kanukuni cheptha

Posted

primitive type aithe little bit different

or else .toString() should work

Posted

nee Requirments sarriga artham kaaledu

Posted

[list]
[*][color=black][background=inherit][color=#006699][b][background=inherit]public[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]class[/background][/b][/color][background=inherit] PackedDecimal { [/background][/background][/color]
[*][color=black][background=inherit] [/background][/color]
[*][color=black][background=inherit][color=#006699][b][background=inherit]public[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]static[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]long[/background][/b][/color][background=inherit] parse([/background][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit][] pdIn) [/background][color=#006699][b][background=inherit]throws[/background][/b][/color][background=inherit] Exception { [/background][/background][/color]
[*][color=black][background=inherit][color=#008200][background=inherit]// Convert packed decimal to long[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]final[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] PlusSign = [/background][color=#C00000][background=inherit]0x0C[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// Plus sign[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]final[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] MinusSign = [/background][color=#C00000][background=inherit]0x0D[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// Minus[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]final[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] NoSign = [/background][color=#C00000][background=inherit]0x0F[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// Unsigned[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]final[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] DropHO = [/background][color=#C00000][background=inherit]0xFF[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// AND mask to drop HO sign bits[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]final[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] GetLO = [/background][color=#C00000][background=inherit]0x0F[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// Get only LO digit[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit][color=#006699][b][background=inherit]long[/background][/b][/color][background=inherit] val = [/background][color=#C00000][background=inherit]0[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// Value to return [/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]for[/background][/b][/color][background=inherit]([/background][color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] i=[/background][color=#C00000][background=inherit]0[/background][/color][background=inherit]; i < pdIn.length; i++) { [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] aByte = pdIn[i] & DropHO; [/background][color=#008200][background=inherit]// Get next 2 digits & drop sign bits[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]if[/background][/b][/color][background=inherit](i == pdIn.length - [/background][color=#C00000][background=inherit]1[/background][/color][background=inherit]) { [/background][color=#008200][background=inherit]// last digit?[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] digit = aByte >> [/background][color=#C00000][background=inherit]4[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// First get digit[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] val = val*[color=#C00000][background=inherit]10[/background][/color][background=inherit] + digit; [/background][/background][/color]
[*][color=black][background=inherit][color=#008200][background=inherit]// System.out.println("digit=" + digit + ", val=" + val);[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] sign = aByte & GetLO; [/background][color=#008200][background=inherit]// now get sign[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]if[/background][/b][/color][background=inherit] (sign == MinusSign) [/background][/background][/color]
[*][color=black][background=inherit] val = -val; [/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]else[/background][/b][/color][background=inherit] { [/background][/background][/color]
[*][color=black][background=inherit] [color=#008200][background=inherit]// Do we care if there is an invalid sign?[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]if[/background][/b][/color][background=inherit](sign != PlusSign && sign != NoSign) [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]throw[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]new[/background][/b][/color][background=inherit] Exception([/background][color=blue][background=inherit]"OC7"[/background][/color][background=inherit]); [/background][/background][/color]
[*][color=black][background=inherit] } [/background][/color]
[*][color=black][background=inherit] }[color=#006699][b][background=inherit]else[/background][/b][/color][background=inherit] { [/background][/background][/color]
[*][color=black][background=inherit] [color=#006699][b][background=inherit]int[/background][/b][/color][background=inherit] digit = aByte >> [/background][color=#C00000][background=inherit]4[/background][/color][background=inherit]; [/background][color=#008200][background=inherit]// HO first [/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] val = val*[color=#C00000][background=inherit]10[/background][/color][background=inherit] + digit; [/background][/background][/color]
[*][color=black][background=inherit][color=#008200][background=inherit]// System.out.println("digit=" + digit + ", val=" + val);[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] digit = aByte & GetLO; [color=#008200][background=inherit]// now LO[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] val = val*[color=#C00000][background=inherit]10[/background][/color][background=inherit] + digit; [/background][/background][/color]
[*][color=black][background=inherit][color=#008200][background=inherit]// System.out.println("digit=" + digit + ", val=" + val);[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] } [/background][/color]
[*][color=black][background=inherit] } [/background][/color]
[*][color=black][background=inherit][color=#006699][b][background=inherit]return[/background][/b][/color][background=inherit] val; [/background][/background][/color]
[*][color=black][background=inherit]} [color=#008200][background=inherit]// end parse()[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit] [color=#008200][background=inherit]// Test the above[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit][color=#006699][b][background=inherit]public[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]static[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]void[/background][/b][/color][background=inherit] main(String[] args) [/background][color=#006699][b][background=inherit]throws[/background][/b][/color][background=inherit] Exception { [/background][/background][/color]
[*][color=black][background=inherit][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit][] pd = [/background][color=#006699][b][background=inherit]new[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit][] {[/background][color=#C00000][background=inherit]0x19[/background][/color][background=inherit], [/background][color=#C00000][background=inherit]0x2C[/background][/color][background=inherit]}; [/background][color=#008200][background=inherit]// 192[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit]System.out.println(PackedDecimal.parse(pd)); [/background][/color]
[*][color=black][background=inherit] pd = [color=#006699][b][background=inherit]new[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit][] {([/background][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit])[/background][color=#C00000][background=inherit]0x98[/background][/color][background=inherit], [/background][color=#C00000][background=inherit]0x44[/background][/color][background=inherit], [/background][color=#C00000][background=inherit]0x32[/background][/color][background=inherit], [/background][color=#C00000][background=inherit]0x3D[/background][/color][background=inherit]}; [/background][color=#008200][background=inherit]//-9844323[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit]System.out.println(PackedDecimal.parse(pd)); [/background][/color]
[*][color=black][background=inherit] pd = [color=#006699][b][background=inherit]new[/background][/b][/color][background=inherit] [/background][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit][] {([/background][color=#006699][b][background=inherit]byte[/background][/b][/color][background=inherit])[/background][color=#C00000][background=inherit]0x98[/background][/color][background=inherit], [/background][color=#C00000][background=inherit]0x44[/background][/color][background=inherit], [/background][color=#C00000][background=inherit]0x32[/background][/color][background=inherit]}; [/background][color=#008200][background=inherit]//invalid sign[/background][/color][background=inherit] [/background][/background][/color]
[*][color=black][background=inherit]System.out.println(PackedDecimal.parse(pd)); [/background][/color]
[*][color=black][background=inherit]} [/background][/color]
[*][color=black][background=inherit]} [color=#008200][background=inherit]// end class [/background][/color][background=inherit] [/background][/background][/color]
[/list]

×
×
  • Create New...