Solved

Given a number how can I round it to some number with two padded zeros

Posted on 2014-11-13
7
94 Views
Last Modified: 2015-01-08
If I have a number 2495, then this should be rounded to 2400

If I have 6321 , then 6300
 123456 , would be 123400
0
Comment
Question by:countrymeister
[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
  • 3
  • 3
7 Comments
 
LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 250 total points
ID: 40440281
Relying on the behavior of integer division, you could do:

int number = 6321;
int rounded = (number / 100) * 100;

Open in new window

0
 

Accepted Solution

by:
e_livesay earned 250 total points
ID: 40440334
You need to subtract off the remainder that is left over when you divide by 100.  To do this use the modulo operator.

double abc_1   = 2495;
double abc_1_m = abc_1 - abc_1 % 100;

double abc_2   = 6321;
double abc_2_m = abc_2 - abc_2 % 100;

double abc_3   = 123456;
double abc_3_m = abc_3 - abc_3 % 100;

Open in new window


If you wanted 123456 to be rounded to 123000 then you would subtract (123456 modulo 1000) from 123456 instead of subtracting (123456 modulo 100) from 123456:

double abc_3   = 123456;
double abc_3_m = abc_3 - abc_3 % 1000;

Open in new window

0
 
LVL 33

Expert Comment

by:it_saige
ID: 40440336
Both Kaufmed and e_livesay, have simple and effective solutions that work equally well.

As e_livesay alluded to, if your stipulation changes (where you have to worry about 10's or 1000's), then you have to make sure to change the equation.

-saige-
0
Independent Software Vendors: 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!

 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 40440640
@e_livesay

You need to subtract off the remainder that is left over when you divide by 100.
That's exactly what integer division does  ; )
0
 

Expert Comment

by:e_livesay
ID: 40440888
@kaufmed

Agreed - the solutions are equivalent.  Didn't see your response until I'd written mine.
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 40440914
@e_livesay

All good. I mistook the "... when you divide by 100" to be pseudo-directed at me  = )
0
 

Expert Comment

by:e_livesay
ID: 40440934
@kaufmed.

No problem.  Wondered if it might look like that after I saw that your post had come in before mine.  Not directed at you at all.
0

Featured Post

Independent Software Vendors: 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!

Question has a verified solution.

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

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

726 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