Gå til innhold

Maksimum antall desimaler Visual Basic 2010 express


Anbefalte innlegg

Skrevet

Hei,

 

Jeg har laget en windows form i Visual basic 2010 express som innneholder for øyeblikket 3 textboxer.

 

Textbox1 har følgende tekst: 4,56

Textbox2 har følgende tekst: 5,55

 

Textbox3 skal dele dette sammen.

 

Textbox3.text = textbox1.text / textbox2.text

 

Svaret i tekstboks 3 blir da: 0,8216216216216216

 

Hvordan kan jeg sette grensen for maksimum antall siffer bak "," ?

Jeg har prøvet å endre "MaxLength" i egenskaper for tekstboksen til 3, men dette hjelper ingenting.

 

Noen som kan hjelpe ?

 

Videoannonse
Annonse
Skrevet

Noen som kan hjelpe ?

 

 

Bruk: Math.Round()-funksjonen.

 

Feks: Math.Round(A \ B, 2)

 

A \ B er verdiene som skal deles, mens 2 er hvor antall mange desimaler du vil printe ut.

  • Liker 1
Skrevet

 

Bruk: Math.Round()-funksjonen.

 

Feks: Math.Round(A \ B, 2)

 

A \ B er verdiene som skal deles, mens 2 er hvor antall mange desimaler du vil printe ut.

 

Dette funket ypperlig til mitt formål.

Tusen takk for hjelpen og forklaringen.

Skrevet

Ser ut som jeg trenger litt veiledning igjen her.

Programmet kjører fint helt til jeg har "Built databasemain"

 

Da får jeg en feil som følger:

"Conversion from string "" to type 'double' is not valid"

"System.InvalidCastException: Conversion from string "" to type 'Double' is not valid. ---> System.FormatException: Input string was not in a correct format."

 

Feilen refererer til "DatabaseMain.vb:line 121"

 

På linje 121 har jeg følgende:

 

TextBox10.Text = Math.Round(TextBox11.Text / TextBoxSF.Text, 2)

 

TextBox11.Text har følgende tekst: 7,12

TextBoxSF.text har følgende: 5,55

 

Dette funket greit da jeg laget et test program, så jeg skjønner ikke helt hvor det kan ha gått galt.

 

Den feil melding som kommer opp (Microsoft .NET Framework) er lang, så jeg kan paste mer info om nødvendig.

Skrevet

Glem feilen over, den ble rettet ved at alle tomme textboxer fikk en verdi. (De skulle hatt det men av en eller annen grunn så flytta ikke verdien seg over når programmet ble bygget).

 

Jeg har et nytt lignende problem jeg ikke finner utav.

 

Jeg har en label som skal være dato og klokkeslett databasen ble sist oppdatert.

Første gang jeg trykke lagre i programmet så sette den dato og klokkeslett helt perfekt.

Neste gang jeg trykker lagre får jeg følgende melding:

 

"Conversion from string "28.11.2013 20:26:41" to type 'double' is not valid"

Jeg har brukt følgende koder:

Public Class DatabaseMain
Dim Mydate As Double
Private Sub LagreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LagreToolStripMenuItem.Click
My.Settings.UpdateDate = Label_date.Text
My.Settings.Save()
Mydate = Label_date.Text
Label_date.Text = Date.Now
  • 2 uker senere...
Skrevet

Hvis du skal lære deg å programmere så bruk Option Explicit On og Option Strict On
Det tar litt til å vende seg til det, men du lærer så mye mer.
For nå er du litt, pardon my french, på trynet med datatypene dine her....du sier at en variabel som er en double skal vises som en string, og du deler en string på en string (fyfy!).

 

Ta en ekstra titt på de to nederste setningene du har skrevet så bør du skjønne hva du har gjort feil :)

 

hint:
(x = y
y = z)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...