Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


MOD

Postades av 2003-10-16 14:22:07 - Sven Jansson, i forum visual basic - allmänt, Tråden har 15 Kommentarer och lästs av 584 personer

Med denna kod får jag ex: 1,99 till 2,00

Private Sub Text1_LostFocus()

Dim Svar As Integer

Label1.Caption = "Talet är " & Text1.Text Mod 2 * 10

End Sub

men hur, kan man skriva så att Ex 1,45 "Talet blir 1,00" och"Talet 1,51 blir 2,00"
Eftersom det inte finns 10, 25 öringar.
HAr letat här på sökning, har ej lyckats att klura ut hur!
SJ


Svara

Sv: MOD

Postades av 2003-10-16 14:50:37 - Pelle Johansson

Du avrundar inte till 50-öringar, dom finns ju. Men är det så att du inte vill ha det?


Svara

Sv: MOD

Postades av 2003-10-16 15:02:11 - Sven Åke Persson

>men hur, kan man skriva så att Ex 1,45 "Talet blir 1,00" och"Talet 1,51 blir 2,00"

Label1.Caption = Format$(CLng(Talet),"0.00")


Svara

Sv: MOD

Postades av 2003-10-16 15:04:47 - Peter Dahlberg

testa detta med bara 2 textboxar ock en knapp
skriv in 1,45 respektive 1,51 i txt1

Private Sub Command1_Click()
txt2.Text = CInt(txt1.Text)
End Sub



Svara

Sv: MOD

Postades av 2003-10-16 16:16:30 - Sven Jansson

Tackar för förslagen men..

Ja Pelle, det tänkte jag inte på, Naturligtvis ska ex: 1,50 vara 1,50, går det att ordna?

Provade er andra förslag också det var mycket bättre än det jag försökte mig på.
Jag kanske var lite oklar på vad jag var ute efter, kanske en bit på vägen nu.
SJ


Svara

Sv: MOD

Postades av 2003-10-16 16:37:21 - Sven Åke Persson

Roade mig med att snickra ihop ett ex på 1:47

Du får fortsätta på detta tema. Round tillhör VB 6

Private Sub Command1_Click()
Label1.Caption = Format$(Round(1.47 * 0.1, 2) * 10, "0.00")
End Sub

Edit : Näää det var inget bra ;-) Vi får ta det som en utmaning

Allt över ex. 1.25 skall bli 1:50 tills 1.76 som skall bli 2:00
1:24 skall bli 1:00 1.74 skall bli 1:50

Jaaa Ni förstår, får Vi se en bra algoritm ?


Svara

Sv: MOD

Postades av 2003-10-16 16:43:20 - Sven Jansson

Hej
Glömde har ej VB6 det är VB5, Då fick jag svar på varför det inte gick med Round när jag försökte med ett exempel.
SJ


Svara

Sv: MOD

Postades av 2003-10-16 18:26:15 - Sven Åke Persson

En grovyxad lösning som funkar.
<code>
Option Explicit
Private Sub Command1_Click()
Label1.Caption = Avrunda(12.47) ' Testa olika input här
End Sub

Private Function Avrunda(ByVal inValue As Double) As String
Dim frac As Single, retStr As String
frac = inValue - Int(inValue)
Select Case frac
Case Is < 0.25
retStr = Format$(Int(inValue), "0.00")
Case 0.26 To 0.74
retStr = Format$(Int(inValue), "0.50")
Case 0.75 To 0.99
retStr = Format$(Int(inValue) + 1, "0.00")
End Select
Avrunda = retStr
End Function
</code>


Svara

Sv: MOD

Postades av 2003-10-16 18:38:53 - Niklas Jansson

Det här:

Int(Tal+0.5)

ger det närmaste heltalet.

Int(2*Tal+0.5)/2

borde ju då ge närmaste 0.5-talet


Svara

Sv: MOD

Postades av 2003-10-17 04:22:22 - Sven Åke Persson

Förbaskat elegant Niklas , förstod att det skulle finnas en snygg lösning
Så här blir det då SJ. Som vanligt strul med decimalavskiljare
använd ,(komma) i detta exempel.
<code>
Option Explicit
Private Sub Text1_LostFocus()
'Obs om du använder ,(komma) som decimalavskiljare)
Text1.Text = Avrunda(CDbl(Text1.Text)) ' Testa olika input här
'Obs om du använder .(punkt) som decimalavskiljare)
'Text1.Text = Avrunda(Val(Text1.Text))
End Sub

Private Function Avrunda(ByVal inValue As Double) As String
Avrunda = Format$(Int(2 * inValue + 0.5) / 2, "0.00")
End Function
</code>


Svara

Sv: MOD

Postades av 2003-10-17 05:47:00 - Sven Jansson

Tack...
SvenPon det fungerar precis som tänkt. Det som fungerar för mig:

Text1.Text = Avrunda(CDbl(Text1.Text))

Stort tack.
SJ


Svara

Sv: MOD

Postades av 2003-10-17 13:20:42 - Niklas Jansson

Inte för att på något sätt klanka ner på din tidigare lösning Sven, men ett problem med sådana typer av lösningar är ju att det kan finnas grejer mellan 0.749 och 0.75, och att 0.7495 då alltså kan få ett godtyckligt värde.

Funderar lite på hur min lösning klarar negativa tal (och hur sådana bör behandlas).

En annan variant kunde då vara Sig(Tal)*Int(2*Abs(Tal)+0.5)/2. Eller vad nu den funktionen heter. Men så länge negativa tal inte är aktuellt så är det ju bra mycket snyggare med den "rena" lösningen.


Svara

Sv: MOD

Postades av 2003-10-17 16:18:09 - Sven Åke Persson

I sammband med Niklas kommentar så vill jag att någon reder ut det
som jag har kunnat , men glömt.

Hur räknar bankerna med ränta mm. med 4 decimaler ?


Svara

Sv: MOD

Postades av 2003-12-04 19:18:56 - Marcus Johansson

Om du bara vill se 4 decimaler?

Borde väl vara Tal=Int(HelaTalet*10000)/10000


Svara

Sv: MOD

Postades av 2003-12-29 13:44:45 - Fredrik Hofflander

Om du nu inte räknar med 50 öringar utan bara vill ha (som i grundfrågan) 1,45 till 1 osv... så är denna lösning bäst tror jag:

tal=int(tal + 0,5)


Svara

Sv: MOD

Postades av 2003-12-29 15:13:43 - Niklas Jansson

>2003-12-29 13:44:45 - hoffa
>Om du nu inte räknar med 50 öringar utan bara vill ha (som i grundfrågan) 1,45 till 1
>osv... så är denna lösning bäst tror jag:
>tal=int(tal + 0,5)

>2003-10-16 18:38:53 - Niklas Jansson
>Det här:
>Int(Tal+0.5)
>ger det närmaste heltalet.
>Int(2*Tal+0.5)/2
>borde ju då ge närmaste 0.5-talet

Ska det vara så svårt att läsa igenom tråden?
Att ge samma svar igen är ju helt meningslöst... det känns som om "jag orkar inte läsa igenom tråden för att se om det finns ett svar, men jag vet hur man gör så jag tänker skryta om det och skriva in det ändå".
Samma sak som när folk skickar in program till filarean utan källkod bara för att skryta med att de har lyckats lösa något.


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 557
27 958
271 741
495
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies