I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
så skal du til at lave din egen funktion som runder... Noget der ligner det her:
Function RundOpNed(heltal as long, kommatal as integer) as string '(eller single,_ tror jeg nok det er, men den retunere tallet med . i mellemi stedet for , og så skal der lige rettes lidt)
if kommatal < 13 then kommatal = 0 elseif kommatal >= 13 and kommatal < 38 then kommatal = 25 elseif kommatal >= 38 and kommatal < 63 then kommatal = 50 elseif kommatal >= 63 and kommatal < 88 then kommatal = 75 elseif kommatal > 88 then kommatal = 100 end if
RundOpNed = ((heltal * 100) + kommatal)/100
end function
noget der ligner den stil.. ret den lige selv til.. har ikke testet den...
Public Function Afrundtal(Tal As Single, Optional Nærmeste As Single = 1, Optional RundOp As Boolean = True) If Nærmeste = 1 Then Afrundtal = Int(Tal + IIf(RundOp = True, 1, 0)) Else Afrundtal = Int(Tal / Nærmeste + IIf(RundOp = True, 1, 0)) * Nærmeste End If End Function
Thomasjepsen's forslag kan ikke bruges for den runder enten kun op eller ned
Cyberdude's forslag virker fint, men jeg har lavet den lidt om.
Function RundOpNed(belob As Currency) As String
Dim heltal As Currency Dim ore As Currency
heltal = Round(belob) ore = belob - heltal
If ore > 0 Then If ore < 0.13 Then ore = 0 ElseIf ore >= 0.13 And ore < 0.38 Then ore = 0.25 ElseIf ore >= 0.38 And ore < 0.63 Then ore = 0.5 ElseIf ore >= 0.63 And ore < 0.88 Then ore = 0.75 ElseIf ore > 0.88 Then ore = 1 End If End If
RundOpNed = heltal + ore
End Function
Tak for hjælpen
Cyberdude hvis du vil have nogle poient skal du komme med et svar, eller får de andre så jeg kan lukke.
Public Function Afrundtal(Tal As Single, Optional Nærmeste As Single = 1, Optional RundOp As Boolean = False) If Nærmeste = 1 Then Afrundtal = Int(Tal + IIf(RundOp = True, 1, 0.5)) Else Afrundtal = Int(Tal / Nærmeste + IIf(RundOp = True, 1, 0.5)) * Nærmeste End If End Function
Den skulle virker. Du er selvfølgelig velkommen til stadig at bruge cyberdude's. Men er bare lidt kortere...
Select case ore case < 0 Then ore = 0 case >= 0.13 And < 0.38 ore = 0.25 case >= 0.38 And < 0.63 ore = 0.5 case >= 0.63 And < 0.88 ore = 0.75 case else ore = 1 Ens Select
hmm.. gik glip af nogle points... :D.. bare glem det.. Martin_Moth: ville jeg også mene men jeg var lidt i tvivl om at And ville virke i Case, jeg kunne jo bare havde startet VB men jeg mente bare ikke man kunne bruge dem sammen... men min smag er der ellers helt klart case....
hmm... peters ser lidt bedre ud... :D.. jeg var bare lige for doven(:D) til at sidde og lige chekke sådan en funktion.. valgte bare lige at skrive den "nemme" metode...
Vb har en funktion til dette: MitTal = Format(TalletDerSkalAfrundes, "#,##0.00") Du skal bare været opmærksom på at Format() kun kan arbejde med strenge, så man skal lige konvertere det først.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.