www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in raèunalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 
Sponsored by SiOL

VB6 izpis za decimalko

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
marko11
Èlan
Èlan



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 654
Aktiv.: 4.07
Kraj: Dobrepolje

PrispevekObjavljeno: Ned Apr 15, 2018 6:00 pm    Naslov sporočila:  VB6 izpis za decimalko Odgovori s citatom

Hi

Imam Visual basic 6 in bi rad, da mi izpiše prva 4 števila za decimalko.

primer:
3210,1234567890 izpis naj bo 1234

0,98765 izpis naj bo 9876

Kako to dosežem?

LP,marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
igo
Èlan
Èlan



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3464
Aktiv.: 22.88
Kraj: Krško

PrispevekObjavljeno: Ned Apr 15, 2018 7:12 pm    Naslov sporočila:   Odgovori s citatom

Od števila odštej samo celi del, pomnoži z 10000 in spet vzemi samo celi del.

Ne poznam VB sintakse za filtriranje celega dela. Èe ne gre v enem koraku, naredi v dveh in naj se potem prevajalnik ukvarja z optimizacijo.

Zanimivo bi bilo videti, kakšen ostanek pri deljenju z 1 vrne (Stevilo % 1), èe je Stevilo tipa float Pray

_________________
Teoretièno je praksa posledica teorije, praktièno je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
blay44
Èlan
Èlan



Pridružen-a: Ned 19 Dec 2010 18:17
Prispevkov: 546
Aktiv.: 5.44

PrispevekObjavljeno: Ned Apr 15, 2018 8:55 pm    Naslov sporočila:   Odgovori s citatom

Tole kar razlaga Igo pride prav pri pisanju programov, ki jih moramo prevajati v veè razliènih jezikov.
Drugaèe pa ima vb6 vgrajeno funkcijo Round. Pa tud podobno vb.net.

enoStevilo = Round(krDrugoStevilo, steviloDecimalk)

Zadnjo decimalko zaokroži.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
blay44
Èlan
Èlan



Pridružen-a: Ned 19 Dec 2010 18:17
Prispevkov: 546
Aktiv.: 5.44

PrispevekObjavljeno: Ned Apr 15, 2018 9:20 pm    Naslov sporočila:   Odgovori s citatom

Uh, površno sem prebral. d'oh!
Druga pot je obdelava stringa.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Krampus
Èlan
Èlan



Pridružen-a: Pon 08 Sep 2008 13:07
Prispevkov: 1722
Aktiv.: 13.44
Kraj: Središèe ob Dravi

PrispevekObjavljeno: Pon Apr 16, 2018 12:19 am    Naslov sporočila:   Odgovori s citatom

Koda:
        Dim aaa As Decimal
        aaa = 12345.1234

        MsgBox(CLng((aaa - CLng(aaa)) * 10000))

_________________
Nisem ravno najbolj pameten na svetu, tu in tam pa imam kakšno idejo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko11
Èlan
Èlan



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 654
Aktiv.: 4.07
Kraj: Dobrepolje

PrispevekObjavljeno: Sre Apr 18, 2018 5:32 pm    Naslov sporočila:   Odgovori s citatom

Krampus@

Dokler je a pozitiven je vredu, èe pa je a= -123.987654, pa izpiše še predznak minus.

LP,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Krampus
Èlan
Èlan



Pridružen-a: Pon 08 Sep 2008 13:07
Prispevkov: 1722
Aktiv.: 13.44
Kraj: Središèe ob Dravi

PrispevekObjavljeno: Sre Apr 18, 2018 8:27 pm    Naslov sporočila:   Odgovori s citatom

Krampus je napisal/a:
Koda:
        Dim aaa As Decimal
        aaa = 12345.1234

        MsgBox(Abs(CLng((aaa - CLng(aaa)) * 10000)))

_________________
Nisem ravno najbolj pameten na svetu, tu in tam pa imam kakšno idejo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko11
Èlan
Èlan



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 654
Aktiv.: 4.07
Kraj: Dobrepolje

PrispevekObjavljeno: Ned Apr 22, 2018 12:58 pm    Naslov sporočila:   Odgovori s citatom

Hi

Raèuni se ne izidejo èe je:

aaa= 8,51851919533492

Rezultat pa je: 4815

Raèun pa je pravilen èe je aaa= 8,11851919533492, rezultat je pravilen: 1185

Èe je prvo število za decimalko 1-4 je rezultat pravilen, èe pa je višje od 4 pa rezultat ni pravilen.

Torej ta formula ni zanesljiva.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
eddie
Èlan
Èlan



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 579
Aktiv.: 3.60
Kraj: Severna primorska

PrispevekObjavljeno: Ned Apr 22, 2018 1:43 pm    Naslov sporočila:   Odgovori s citatom

Rešitev s stringi:
Koda:
r = 8.51851919533492
s = Str(r) 'Pretvorba v string
vejica = InStr(1, s, ".") 'poišèemo decimalno vejico(piko)
decimalke = Mid(s, vejica + 1, 4) 'In iz stringa vzamemo 4 znake za vejico


V spremenljivki decimalke je rezultat...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 5460
Aktiv.: 33.94
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Ned Apr 22, 2018 2:22 pm    Naslov sporočila:   Odgovori s citatom

A takole ne bi šlo?
Koda:
INT((ABS(3210,123456789)-INT(ABS(3210,123456789)))*10000)

INT((ABS(8,51851919533492)-INT(ABS(8,51851919533492)))*10000)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 30 dni


Powered by phpBB © 2001, 2005 phpBB Group