Presision Calculations - Using Double Could Only Calculate Values Up To 18 Digits After Decimal
Jul 2, 2009
In the discussion in this thread: [URL] it was reveiled to me that vb.net, using double, could only calculate values up to 18 digits after decimal.... so I started thinking and came up with this class
Public Class LargeNumber
Private pNumber As String
Public Sub New()
[CODE].............
I want to split the string into a series of doubles.... and than combine them into a large number.... The size of each double component should be 18 digits on a 32 bit computer... so that I will have room to add the last carrier...
Is there such a thing as a type similar to a point, but contains a pair of decimals, or a pair of doubles, rather than integers? I searched the forums and google with no luck. I can't believe this has never come up before, I must have been using the wrong search terms.
To pass decimal values to radio buttons so I can calculate an output answer. it is a tip calculator. I am using radio buttons as options to choose what amount to tip, ie. 10, 15, and 20%. I need to figure out how to pass the value to the buttons in code so I can calculate the tip amount.
i want to get the correct value if number is more than 16 digits [code]and i change it to double and the value is "1.11111111111111E+16"the answer i want is "11111111111111111".is it possible to get the proper value?
For greater accuracy I should use a Decimal instead of a Double ( so I've been told ). Why then have Microsoft chosen to use DOUBLE for most of the functions that return a floating point value in the Math Class?
Im wanting to use a textbox for the entry of Decimal figures (currency). Is there any way I can have it so if a user does not put a decimal figure (ie 15 instead of 15.00) it will put it on.
I tried a masked textbox, but that means i have to set the maximum number of digits before the decimal too which is no good.
Is there a format string to format a decimal to 000000000,00. So first 9 digits, right padded with zeros if needed; a comma as fraction separator and two fraction digits. 0 => 00000000,00 12 => 00000012,00 987456,456 => 000987456,46 So something like myDecimal.ToString("D9") together with .ToString("F2").
I have to display all the digits of 2^90. This is within the reach of the Decimal format which can display up to 2^96-1. The Decimal format stops displaying after the 15th digit.The real answer for 2^90 is : 12 379 400 392 853 802 274 899 124 224 (29 digits)
Here is what I do: Dim a As Decimal = 2^90 TextBox1.Text = a
This is the Project that i have to make. Create a project that will input an employees sales and calculate the gross pay, deductions, and net pay. Each employee will receive a base pay of $900 plus a sale commission of 6% of sales.
After calculating the net pay, calculate the budget amount for each category based on the percentages given in the tables below:
Your Form should use text boxes to input the employees name and the amount of the sales and also use text boxes to display the results of the calculations. Provide buttons for Calculate, Clear, and Exit. Display a message to the user for any bad input data. Now i want to know for constants its going to be : commission sale, deductions and everything in Budget? I am also guessing that for the gross pay its going to be the" Gross pay = base pay * Commission" ?
i used this code to assign the brand dbs to a value of 200
[code]Private Sub xModelComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles xModelComboBox.SelectedIndexChanged If xModelComboBox.Text = "DBS" Then
Im creating an application that allows me to enter a product with a cost. I want all the costs to be saved in an array and then calculate the total cost and display it in a label. I looked for hours in my textbook and cant seem to get this part.
I am using Crystal Enterprise 10 to run Adhoc Query to generate reports.My database has data with 4 digits after decimal point. But, the Ad Hoc query report rounds the data to 2 digits and displays that. Is there a way I can change this default behaviour to show the data as it is without rounding it?
Let's say I want to convert a Double x to a Decimal y. There's a lot of ways to do that:
1. var y = Convert.ToDecimal(x); // Dim y = Convert.ToDecimal(x) 2. var y = new Decimal(x); // Dim y = new Decimal(x) 3. var y = (decimal)x; // Dim y = CType(x, Decimal) 4. -- no C# equivalent -- // Dim y = CDec(x)
Functionally, all of the above do the same thing (as far as I can tell). Other than personal taste and style, is there a particular reason to choose one option over the other?
EDIT: This is the IL generated by compiling the three C# options in a Release configuration:
1. call valuetype [mscorlib]System.Decimal [mscorlib]System.Convert::ToDecimal(float64) --> which calls System.Decimal::op_Explicit(float64)
I am working on an application that allow the user to store data as numbers.These numbers are later on used for calculation. The number can be of any type and are saved as string. The problem is when they are used for calculation how can understand when it is better to treat them as doubles and when as decimals?
How come a double and decimal treat 3 and 3.0 and 3.00 different?
For example:
Dim dbl As Double = 1 / CInt(TextBox1.Text) MsgBox(dbl) If I enter 3 in the TextBox I get: 0.33... If I enter 3.0 I get: 0.033... If I enter 3.00 I get: 0.0033...
I am trying to figure out how to calculate the number of years it takes to double a user defined number. I have tried to take the number entered and multiply it by twelev and divide by two.
So, yes, I've tried with these three formats, and the problem remains the same:I have a string, "s"For Each s As String In stringarray and this array is recieving data from a streamreader that is reading a csv file. The data I'm having dificulty reading are these very specific numbers(yes, only these numbers, because phone numbers get home safe and sound).The numbers I'm talking about are usually decimal.ValueList.Add(Convert.ToDecimal(s))
Now, when I convert them like that, they always bring a "D" alongside with them. I've personally checked the string multiple times, and it just has a "1", and somehow, my list recieves "1D" as a number, same thing happens with decimal numbers(0.29D for example). I've tried with Doubles and Integers, the result is the same.
here is a very important matter to be corrected as soon as possible. generally,type double can display an answer correct to more than 20 decimal places. yes,it works fine until here except for exponential system. whenever i try to find a decimal raised to the power of a proper fraction, i get a correct answer but only upto 13 decimal places. that is not fair at all! it is important to get as high precision as possible. consider this example:-
[code...]
i want that number of correct decimal places or approximation,which a windows 7 calculator has. i believe that this is someway easy to get rid of. please support.it is important for programs like calculator,worksheets,databases,etc.
I am writing a program that asks the user for their name and the number of pieces they completed. The employees are paid more depending on the amount of pieces they have completed(i.e. <200 = .50 per piece, 200 to 399 = .55 per piece, etc.). I have to display the amount earned when the user enters the info and hits the calculate button. I have to use Select Case.
I was thinking this would be an easy program but I keep getting an error for each Case saying "Option Strict On disallows implicit conversions from 'Double' to 'Decimal'. I don't understand why it thinks it is a double. It says I can correct this problem by adding "Cdec" before each equation(i.e.
I am trying to put together a simple form with prices assigned to Radio buttons and check boxes.
I started by creating a simple form with four Windows Form control, two check boxes and two radio buttons, there is also a NumberUpDown Control for quantity but I have not added that yet.
Basically the user make selections, the price is calculated with total and subtotal and displayed on a label.
I am trying to start as basic as possible then work my way up to more complex calculations as I progress.
Here is my Screw up version: :)
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Latitude As Double = row("fltLatitude") Dim Longitude As Double = row("fltLongitude")
Most of the lat/longs that are being fetched from the db using SP are retrieved in properly, except for a couple of records which do not include a period to indicate a lat/long value.I have tried using these: