aspose file tools*
The moose likes Beginning Java and the fly likes printout  Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "printout  "�"  turns to u`" Watch "printout  "�"  turns to u`" New topic
Author

printout "�" turns to u`

Daniel .J.Hyslop
Ranch Hand

Joined: May 23, 2005
Posts: 55
hi all,good day to you,

I have a sample of code here (printing the hole program would not solve this problem I fear),where I have a println statement Sys....tln("depositing �100.00") instead of the British currency pound sign being printed I get a u with an colon above it,could some explain what is happening

I also would like to be able to display the output from the getBalance statements with 2 digits after the point ie;�100.00 and not �100.00023.Could someone advise me to the easiest way to do this.

thankyou.


an island in the sun <br />with a language of many tongue?
Daniel .J.Hyslop
Ranch Hand

Joined: May 23, 2005
Posts: 55
I should also state that I am still using sdk 1.4 which does not support the printf(string,double)output stream for formatting numbers
Ariel Ortiz
Ranch Hand

Joined: May 14, 2004
Posts: 121
I guess your problem with the pound symbol (�) is that you're running the application in a command line box (cmd.exe) in Windows. The problem is that the command line uses a different character set (IBM-PC OEM) than Windows (usually ISO-Latin1 in Western countries). So what you type in a your text editor or IDE does not necessarily show up the same in the console window. This is a problem that shows up quite often when we print message strings in languages other then English.

I can think of three possible solutions:

1. Use an other operating system such as Linux or MacOS X.
2. Have your output go to graphical component (such as a Swing JFrame) instead of the standard output in a console window.
3. Try using the IBM-PC OEM character code for the pound symbol in your string: System.out.println("\u009C");

About printing a numerical quantity with a fixed number of decimal digits, you can use the java.text.DecimalFormat class:

Or, if you�re using Java 5.0, the new printf method comes in handy:

I hope this helps.

...Ariel
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: printout "�" turns to u`