• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
CRACK123

[java] Printing a double to 2 decimal places in Java 1.4

18 posts in this topic

Hi, Can someone give me an example of printing a double to 2 decimal places in java - I am trying to understand how this DecimalFormat works and I don't seem to be getting it right. From the API I know this function exists but what is FieldPosition and what parametes does it take ? public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition) I am on the right track right that I have to use this function to do this ? Thanks
0

Share this post


Link to post
Share on other sites
Apart from using the printf function...


float f = 2.3567f;
System.out.printf("%.2f", f);


(Or something like that, my C is rusty and I never did that with Java before, only know that it is available from 1.5+)

...You can create a number formatter instance using a pattern ("#.##", to be more specific).

Son Of Cain
0

Share this post


Link to post
Share on other sites
Here's the 1.4 way.


import java.text.*;

public class Test
{
public static void main(String[] args)
{
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));
}
}

0

Share this post


Link to post
Share on other sites
I find this easiest

double d = 12.345678;
int r = (int)(d * 100);
double f = r / 100.0;
System.out.println(f);
0

Share this post


Link to post
Share on other sites
capn_midnight's method will fail if one decimal place is enough for a lossless back n forth (print'n'parse) transformation.

bsh % double d = 5;
bsh % int r = (int)(d * 100);
bsh % double f = r / 100.0;
bsh % print(f);
5.0

duh :)

bsh % double d=5;
bsh % int r=(int)Math.round(d*100);
bsh % print((r/100)+"."+(r%100<
0

Share this post


Link to post
Share on other sites
My post has been capped o_O

bsh % double d=5;
bsh % int r=(int)Math.round(d*100);
bsh % print((r/100)+"."+(r%100<
0

Share this post


Link to post
Share on other sites
Geez. This forum is the worst.

http://phpfi.com/115271

ffs
0

Share this post


Link to post
Share on other sites
Its not my fault that this forum software is badly written.

Oh and I know about html entities... thanks for your worries. Its just... I've never seen a forum, which cant handle the escaping by itself. Its very basic stuff after all.

And login... I dont really feel like registering here. This half-dead subforum wont justify the trouble :P
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Its not my fault that this forum software is badly written.

If you think this forum software is badly written, you haven't seen this yet.
0

Share this post


Link to post
Share on other sites
Half-dead subforum?
Ok dude, do not take the time to register. We appreciate your visit, and thanks for sharing those amazing lines of bean shell script.
0

Share this post


Link to post
Share on other sites
>Half-dead subforum?

Low activity.

>We appreciate your visit, and thanks for sharing those amazing lines of bean shell script.

Its a valid solution for the problem. There is no reason for getting sarcastic.

>I don't understand why people don't register.

Its not required for answering questions. Well, dont worry about it. I wont come back.
0

Share this post


Link to post
Share on other sites
.append((Math.rint(a * 100) / 100);

should work well (kinda).

DecimalFormat is supposed to be used in internationalization, not as a simple dirty method for programmers.

of course you can also do
if(a > 0){
a += e;
} else {
a -= e;
}

.print((double) ((int) (a * 100)) / 100D);
0

Share this post


Link to post
Share on other sites
No, I'm not crazy, but please replace this:

if(a > 0){
a += e;
} else {
a -= e;
}


With this:

a = (a > 0) ? a += e ; a -= e;


;)

Son Of Cain



0

Share this post


Link to post
Share on other sites
Quote:
Original post by Son of Cain
With this:

a = (a > 0) ? a += e ; a -= e;

That doesn't compile, I think you meant this?
a = (a > 0) ? a += e : (a -= e);


But even that can be rewritten into this:

a += (a > 0) ? e : (-e);


0

Share this post


Link to post
Share on other sites
Quote:
Original post by Son of Cain
Yes, yes, my typo, and your version is even better optimized! =D


If by better optimized, you mean more difficult to read, then yes.
What is with programmers' facinations with making code so obfuscated? I've yet to see anything that makes it any faster.
Isn't the saying "Premature optimization is the root of all evil"?
0

Share this post


Link to post
Share on other sites
In this particular case, it has to do with the way bytecodes are generated for the expression (don't ask me the details, I've just been told the ternary operator translates into better bytecode than if/else to attribute value to a variable). And also, I don't find it hard to read - any average programmer knows about the ternary conditional operator, there's nothing fancy or hacky about it...

Perhaps the term "optimization" may be exagerated alright, but definetely, I'd prefer the one line version rather than the five lines one. Seems like cleaner and clearer code to me.

Either way, my personal opinion. Some might find easier to read the entire if/else, it's up to what you feel to be the better (as long as it doesn't hurt your code logic, anyway =).

Son Of Cain
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0