?
Solved

convert a real number to decimal

Posted on 2010-09-14
10
Medium Priority
?
783 Views
Last Modified: 2012-05-10
how would i convert a real number to decimal with 15 places to the left of the .

the database has it stored as real ... I simply want to retrive it as decimal using covert or whatever else works
0
Comment
Question by:troyvw
[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
  • 6
  • 4
10 Comments
 
LVL 5

Expert Comment

by:David Christal CISSP
ID: 33677350
a real number has only 4 bytes.  15 digit accuracy just isn't there.  

DECLARE @real AS REAL, @dec AS DECIMAL
SET @real = 123456789012345
SELECT @real
SET @dec = @real
SELECT @dec
SET @dec = 123456789012345
SELECT @dec

0
 

Author Comment

by:troyvw
ID: 33677368
What is the maximum and how would i convert it?
0
 
LVL 5

Expert Comment

by:David Christal CISSP
ID: 33677399
A real number is accurate to 7 digits left of the decimal.  You can change the data type of the column.  It will convert, but the accuracy of the 15 digits of information was lost when it was stored in a real data type.
0
Industry Leaders: 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:troyvw
ID: 33677412
That is ok... it can be seven ... what would the code look like
0
 
LVL 5

Expert Comment

by:David Christal CISSP
ID: 33677463
if you don't want to change the data type in the database, I suppose you could:
select  cast(someRealValue as DECIMAL) as DecimalValue from sometable
0
 

Author Comment

by:troyvw
ID: 33677484
How would i specity the precision... for example if i wanted 7 decimal places
0
 
LVL 5

Expert Comment

by:David Christal CISSP
ID: 33677612
if you want anything after the decimal, you're out of luck.
In the example below, I specified that I want 10 digits of total precision, with 4 of them coming after the decimal point (That leaves 7 to the left of the decimal point).


 

DECLARE @real REAL 
SET @real = 123456.8913 
SELECT @real 
SELECT CAST(@real AS DECIMAL(11,4))

Open in new window

0
 
LVL 5

Expert Comment

by:David Christal CISSP
ID: 33677622
10 should have been 11
0
 
LVL 5

Accepted Solution

by:
David Christal CISSP earned 2000 total points
ID: 33678025

If you want anything after the decimal, you're out of luck.
In the example below, I specified that I want 11 digits of total precision, with 4 of them coming after the decimal point (That leaves 7 to the left of the decimal point).


DECLARE @real REAL 
SET @real = 123456.8913 
SELECT @real 
SELECT CAST(@real AS DECIMAL(11,4))

Open in new window

0
 

Author Closing Comment

by:troyvw
ID: 33691585
ty
0

Featured Post

Congratulations! You’re Certified – Now What?

Starting a new career can be overwhelming. Becoming certified in your field of expertise is a great start, but where do you go from here?  Here are some tips to help you on your career journey.

Question has a verified solution.

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

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
This post looks at MongoDB and MySQL, and covers high-level MongoDB strengths, weaknesses, features, and uses from the perspective of an SQL user.
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…

801 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