Why Does VB Change A Decimal To A Double When Using An Exponent
Feb 28, 2011Dim decMonthlyPayment
As Decimal
Dim decPrincipalAtRetirement
[code].....
Dim decMonthlyPayment
As Decimal
Dim decPrincipalAtRetirement
[code].....
how to get the mantissa and exponent from a double in VB.net? I know I can do a string parse and some conversion to ints but I wondered if anyone had a mathematical equivalent formula that would allow me to do this?
View 1 Replieshow to get 1.83333333333... to 1.83?
Dim temp_1 As String
temp_1 = 5.50 / 3
Label1.Text = String.Format(temp_1, "{0.00}")
I'm having some trouble converting a double to a string.I have a double value, like 43.64 and I need a string like this: "43.64"If I try to convert the double to a string I always get "43,64" what doesn't work for me..
View 5 RepliesFor 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?
[Code]....
If I have the code:Dim x as Decimal = 100.0m
Is it casting from a double to a decimal implicitly. How would I do this explicitly in vb.net?
My user requests to change the . on the numpad to a when entering text in a multiline textbox.So I was thinking about the KeyDown event.To determine if the numpad . was pressed I can do something like this [code]But now how do I change the returned charachter as a , ? All e.Key... properties are ReadOnly. The KeyPress events let me change this by providing e.KeyChar, but in that event I can't check for the numpad .
View 2 RepliesLet'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)
[Code]....
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?
View 9 RepliesHow 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...
How do I treat them all as 3?
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.
[Code]...
I'm struggling to solve this problem and am throwing it out to y'all...
For example, if I had a value of 6.5, (representing 6.5 feet), I'd want to separate that value into two values:
6 - 12" sections
1 - 6" section.
This initial value could be any number from 3-16, in .5 increments. (3, 3.5, 4, 4.5, 5, 5.5, etc.)
I have a piece of code:
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:
Convert.ToDecimal(Latitude)
CDec(Latitude)
decimal.Parse(Latitude)
but none of them are working.
I have a double value like 3768.595863. if i round this value then i will get 3768.596 but i want 3768.595.how can i get that?please reply.
View 7 Repliesis it possible to round a double to a certain number of decimal places
View 1 RepliesHow to i roundup a double number to 6 decimal places in vb.net?
View 1 RepliesIs 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.
View 4 RepliesSimple requirement to split a double value inputted into a string to decimal and fractional.I enter 12.1 and it splits it into
12 and then 0.0999999999999996
Where is my 0.0000000000000004 gone??? Did the cpu tax it?I have tried a few other tricks to split the number and i get the same result...The fractional results of each attempt
12.0 0 Amazing!!!!
12.1 0.0999999999999996
12.2 0.199999999999999
[code]....
Problem: Using the sub routing below, when adding a value to another value the results eventually change from 2-decimal places to multiple decimal places.Basically, the amount stored should always only be 2 decimal places, because the values passed in are always 2 decimal places. Output from calling the sub routine multiple times.
Running total = 329430.75
New Withheld Amount = 710.79
Running total = 330141.54
[code]....
As a workaround, I have a new routine that uses a custom round function to properly store only 2 decimal places - as the VB round function does not perform the type of rounding desired.I understand that we are removing the value from the dictionary and adding it back..
I am writing an calculator application and i dont know what datatype to use. i mean should the variables be single, double, decimal...?
View 1 RepliesIn 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...
What is the cleanest, most readable way to String.Format a decimal with the following criteria
start with a sign symbol (+ or -)
a fixed number of fraction digits
no decimal separator
right aligned
pre-padded with "0"'s
I've got an app that sometimes stores some decently small numbers, such as 0.000023425. These numbers get loaded up in TextBox controls for users to edit.
Dim number As Double = 0.000023425
someTextBox.Text = number.ToString() ' Shows "2.3425E-05"
As mentioned, the text that shows is 2.3425E-05, which isn't exactly intuitive for the user to see, plus I have numbers even more precise (out to 19 decimal places). I would like the output to be fixed point. Of course I could easily and cleanly do:
number.ToString("F20") ' Shows "0.00002342500000000000"
But then there's an annoying number of zeros left over. So, to fix that, I could do:
number.ToString("#,##0.####################") ' Shows "0.000023425"
Which is what I want, but is there any better way to do it than to have that giant ugly format string there? So, ok, it's not that ugly, but surely there's a different way, right? My goal is to show the raw value being stored in the DB in a friendly way, and I would rather not have to force a format on the number at all.I found that changing the underlying datatype to Decimal solves the issue.
Dim number As Decimal = 0.000023425
someTextBox.Text = number.ToString() ' Shows "0.000023425" instead of "2.3425E-05"
So it sounds like Doubles aren't precise enough to be displayed normally?
I work with the Visual Basic Express Edition 2008. I'd like to write in a text box : 1s5 but the 5 has to be the exponent of s like 1s5 does anyone know how I've to write this in Visual Basic?
Second problem is:
Dim foo As New clsParallelPort(&H378, &H379, &H37A)
foo.communicate(2, clsParallelPort.switch.SWITCH_ON) 'switch data 1 on
foo.communicate(3, clsParallelPort.switch.SWITCH_ON) 'switch data 2 on
[Code]...
The problem is that I give out a signal to the 8 data lines and then to the control line 10 and then to the control line 1 but what I'd like to do is to give firste a signal out to the 8 data lines and then at the same time a signal out to control line 10 and 1. How can I do that?
How can i change the format of my textbox into two decimal places "#,###.00"
i used mask textbox and used this format 0,000.00 but i cant input more than 4 digits whole number
VB.NET code to change Excel 2007 Column Cell Format from Text to a Number no Decimal.
Right now Column F shows values that look like
3E+13
3E+13
Manually changing it to a Number with No Decimal shows the correct value.
30000046605562
30000041582875
Of course I would like to automate this.
Im building a software but look,,I have some images at my resource folder..I cant make it when the mouse double click the form the background image changes,,,I can make one image to change when u double click the form..example:
Form1_MouseDoubleClick
Me.BackgroundImage = My.Resources.Image1
Now I want to make it to change more images within the resource folder
I've searched the forms and ran into a road block i think due to not really knowing what its called I'm searching for. Here is a simple explanation. I would like to add a button on my form that if selected will change the default application that a certain file type opens with.
[Code]...