VISUAL BASIC

Neo

Obećava
Poruka
59
Pozdrav,

Treba mi mala pomoc oko VB-a.

Hteo bi da rezultat neke kalkulacije koji je u decimalnom zapisu sa, na primer 5-10 cifara iza tacke, da ga zaokruzim na dve.

Na primer VB default:
22.03 * 33.02 = 727.4306

Da bude:
22.03 * 33.02 = 727.43 (dve cifre iza tacke)
 
Ako sam dobro razumeo, uradis ovako:

Kod:
[COLOR="navy"]Private Sub[/COLOR] Form_Load()
[COLOR="navy"]Dim[/COLOR] start [COLOR="navy"]As Integer[/COLOR]
[COLOR="navy"]Dim[/COLOR] zbir, prvi, drugi, mLeft, mRight [COLOR="navy"]As String[/COLOR]
[COLOR="DarkGreen"]'[/COLOR]
prvi = 22.03
drugi = 33.02
zbir = prvi * drugi
    [COLOR="darkgreen"]'[/COLOR]
    [COLOR="darkgreen"]'Pronalazimo lokaciju zareza u nasem rezultatu[/COLOR]
    start% = InStr(zbir, ",") - 1
    [COLOR="darkgreen"]'[/COLOR]
    [COLOR="darkgreen"]'Uzimamo znakove sa leve strane zareza[/COLOR]
    mLeft = Left(zbir, start%)
    [COLOR="darkgreen"]'[/COLOR]
    [COLOR="darkgreen"]'Uzimamo tri znaka racunajuci i zarez tako da dobijamo (,xx)[/COLOR]
    mRight = Mid(zbir, start% + 1, 3)
    [COLOR="darkgreen"]'[/COLOR]
    [COLOR="darkgreen"]'Ispisujemo formatirani rezultat[/COLOR]
    Label2.Caption = mLeft & mRight
    [COLOR="darkgreen"]'[/COLOR]
[COLOR="Navy"]End Sub[/COLOR]

Ovde imas source:
 

Prilozi

  • Calculate.zip
    1,7 KB · Pregleda: 14
Moja verzija VB-a ima problema sa tvojim kodom. Medjutim, nasao sam jednostavno resenje koriscenjem formatnumber funkcije.

FormatNumber (rezultat,2)

REZULTAT je broj tj. rezultat kalkulacije a broj "2" za koliko cifara da zaokruzi.

Hvala u svakom slucaju
 
Za FormatNumber nisam se setio...

Po obicaju umem da komplikujem stvari ali volim da u programu sve drzim pod kontrolu-sigurniji sam tako da ce mi program nesto odraditi.
Nije da bas nikako ne koristim ugradjene funkcije vec se ove nisam setio pa sam to odradio na moj nacin:-)

Kako ti ne radi moj kod, koju ti gresku javlja?
 
Za FormatNumber nisam se setio...

Po obicaju umem da komplikujem stvari ali volim da u programu sve drzim pod kontrolu-sigurniji sam tako da ce mi program nesto odraditi.
Nije da bas nikako ne koristim ugradjene funkcije vec se ove nisam setio pa sam to odradio na moj nacin:-)

Kako ti ne radi moj kod, koju ti gresku javlja?

Ako koristis ugradjene funkcije u programu kasnije je lakse da ih identifikujes kada hoces da se vratis i radis na programu. Mada svako ima svoj princip, tebi je lakse jer se dosta razumes i lako pronadjes sve variables koje si ti postavio, ali zato ako neko drugi pokusa bice mu tesko.

Da se vratim na temu. Greske koje mi pokazuje u tvom programu su u gornjem delu, a u VB Error Listi izbacuje:

"Declaration expected"
"'End' statement not valid"

Kod:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   StartUpPosition =   1  'CenterOwner
   Begin VB.Label Label2 
      Caption         =   "Label2"
      Height          =   285
      Left            =   1020
      TabIndex        =   0
      Top             =   1320
      Width           =   1935
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
 
  • Podržavam
Reactions: Neo
Ne znam kojom verzijom radite?
Probajte:
1. Label1.Text = Format(rezultat, 0.00)
2. Label1.Text = Format(rezultat,"0.00")

"rezultat" je recimo 2.55 * 3.342
ovo vazhi za Visual basic 2005.
Ukoliko koristite neku stariju verziju VBa umesto "text" koristite "captoin"
 

Back
Top