2 pitanja za VB.net

1.
Nadam se da ovo radi u VB .net-u:-?
Kod:
Format(Date, "dd.mm.yy")

2.
Double tip podataka resava mnoge probleme sa preciznoscu, koja postoji kod single tipa
podataka ali double promenljiva zauzima 64 bita (osam bajtova).

Integer tip podataka je slican byte tipu, osim sto je veci i moze cuvati i negativne
brojeve. Integer promenljiva zauzima 16 bitova (dva bajta) memorije i moze da primi cele brojeve
izmedju -32.768 do 32.767. Integer promenljive su pogodne za brojanje velikih
numerickih vrednosti, izvodjenje jednostavnih operacija sabiranja i oduzimanja i brojanje predmeta.
U MSDN-u bi nasao detalje za ostale tipove podataka (selektujes tip pa F1) i mozes sam eksperimentisati i videti koji ti tip vise odgovara.
 
prethodno objasnjenje je lepo, ali nepotpuno.
Evo nesto vise informacija o tipovima, za zainteresovane.


Brojevi se u racunaru zapisuju u binarnom obliku, tj. koristeci 0 i 1. Svaka cifra zauzima 1 bit, 8 bitova cini bajt. U jednom bajtu postoji ukupno 256 kombinacija bitova (1 i 0).

Brojeve generalno mozemo podeliti na cele i sa zarezom.

Celi brojevi.

Celi brojevi cine, kao sto znamo, uredjen niz - ...,-5,-4,-3,-2,-1,0,1,2,3,4,5,...
Jedan bajt, kao sto rekoh, sadrzi 256 kombinacija bitova. Te kombinacije mozemo da na neki nacin sredimo u listu, i svaku od tih kombinacija oznacimo jednim brojem. Ovim se postize u stvari da se jednim bajtom zapise 256 brojeva (jer toliko kombinacija ima). Sa 2 bajta imamo 65525 kombinacija, sa 4 bajta oko 4 miliona kombinacija, tj. brojeva koji mogu da se zapisu.

U jedan bajt, dakle, mogu da "stanu" 256 brojeva. Ti brojevi se mogu rasporediti na 2 nacina: od -128 do +127 ili od 0 do 255.
Isto tako, u 2 bajta se brojevi mogu rasporediti od -32000 i nesto do +32000 i nesto, ili od 0 do 65535.
Isto vazi i za 4 bajta - od -2 milijarde do +2 milijarde ili od 0 do 4 milijarde. Ovi brojevi zovu se opseg tipa. Broj bajtova za zapis je velicina.

Kada se brojevi rasporedjuju po pola opsega u minus i u plus takav tip zapisa je oznacen. Kada se zapisuje od 0 do opsega onda je neoznacen zapis.

Sad dolazimo do kljucnog dela u zapisu celih brojeva: tipovi.
Neki standardni tipovi su (imena cesto nisu ista, ali ostali podaci najcesce jesu)

short int : -128 do +127 : 1 bajt
unsigned short int, byte : 0 do 255 : 1 bajt

integer : -32768 do 32767 : 2 bajta
unsigned int, word : 0 do 65535 : 2 bajta

longint -2147483648 do 2147483647 : 4 bajta
unsigned long int : 0 do 4milijarde 200 hiljada i nesto : 4 bajta

Broj bajtova u kojima se odredjen tip zapisuje zavisi od jezika i racunara. Ovo su velicine koje se koriste u Pascalu, C i C++ imaju integer najcesce sa 4 bajta.

Brojevi sa zarezom

Kod zapisa brojeva sa zarezom stvar je nesto komplikovanija s jedne, ali prostija s druge strane.
Ovde nema preteranog izbora tipova - ograniceni smo na float i double. Vise od ovoga normalnom coveku nije ni potrebno.
float se zapisuje u 4 bajta, double u 8, i oba imaju nenormalno veliki opseg, ali i jednu veliku manu - preciznost.

Zapis brojeva sa zarezom najlakse je objasniti na primeru:

12.05 se zapisuje kao 1.205 * 10
-0.0034 se zapisuje kao -3.4 * 10 na -3

Ovim se postize da se mogu zapisati stvarno veliki brojevi.
Mana zapisa je nepreciznost posle odredjene velicine brojeva, tj. vrlo mali i vrlo veliki brojevi, zbog fizickog ogranicenja zapisa, postaju priblizni.
Na primer, u broju 12.00000000000000000000000000000000000000000000005 cifra 5 je isuvise "daleko" da bi stala u zapis, pa ce da se zanemari.
Slicno vazi i za velike brojeve - umesto 1200000000000000000000000003 bice upisano 120000000000000000000000000 (broj istog reda, ali "zaokruzen")


Nadam se da je ovo bilo bar donekle jasno napisano.
 
To je to. Integer gubi podatke u ovom slucaju a double je odlican.

Jos me datum zanima, ne mogu da postavim datum u formatu:

na primer meni treba:
30th November 2007

Nego automatski izlazi u ovom formatu: 30/11/2007 a to mi ne treba.

Taj datum sam pozvao ovako:

Label4.Text =
"Date: " & DateString

Da li neko zna kako da formatujem taj datum u onaj gore navedeni?

Hvala za pomoc.
 
[Venom];5477059:
To je to. Integer gubi podatke u ovom slucaju a double je odlican.

Jos me datum zanima, ne mogu da postavim datum u formatu:

na primer meni treba:
30th November 2007

Nego automatski izlazi u ovom formatu: 30/11/2007 a to mi ne treba.

Taj datum sam pozvao ovako:

Label4.Text =
"Date: " & DateString

Da li neko zna kako da formatujem taj datum u onaj gore navedeni?

Hvala za pomoc.

Покушај ово:
Label4.Text = Format(DateTime.Now, "dd : MMMM : yyyy")

Ако сте успели, експериментишите мало са:
MMMM MMM MM
yyyy yy
dd d
 
1.
Nadam se da ovo radi u VB .net-u:-?
Kod:
Format(Date, "dd.mm.yy")

2.
Double tip podataka resava mnoge probleme sa preciznoscu, koja postoji kod single tipa
podataka ali double promenljiva zauzima 64 bita (osam bajtova).

Integer tip podataka je slican byte tipu, osim sto je veci i moze cuvati i negativne
brojeve. Integer promenljiva zauzima 16 bitova (dva bajta) memorije i moze da primi cele brojeve
izmedju -32.768 do 32.767. Integer promenljive su pogodne za brojanje velikih
numerickih vrednosti, izvodjenje jednostavnih operacija sabiranja i oduzimanja i brojanje predmeta.
U MSDN-u bi nasao detalje za ostale tipove podataka (selektujes tip pa F1) i mozes sam eksperimentisati i videti koji ti tip vise odgovara.

Nece li ono"mm" pokazati minute? Mislim da bi trebalo:
Format(Date, "dd.MMMM.yyyy")
 
Pitam se ja da li si uopste proverio sta pokazuje s obzirom da stoji "Date" a ne "Time" u formatu.
Pokazace minute jedino ako se formatira drugacije nego sto sam naveo.
Inace "mm" pokazuje redni broj meseca (01,02, 03...) dok "mmmm" naziv meseca (Januar, Februar, Mart...) i nema veze sa minutima jer u formatu nije rec o vremenu vec o datumu.
 
Kad smo vec kod datuma i vremena, zna li neko kako da na MS SQL serveru iz podatka koji je tipa datetime, izvucem samo date, a da to bude elegantno resenje? Znaci ne da ga bacim u promenjivu tipa date, nego da u upitu odmah dobijem datum.
 
Kad smo vec kod datuma i vremena, zna li neko kako da na MS SQL serveru iz podatka koji je tipa datetime, izvucem samo date, a da to bude elegantno resenje? Znaci ne da ga bacim u promenjivu tipa date, nego da u upitu odmah dobijem datum.

Na primer ovako:

convert(char, getdate(), 111)

dobices 2007/12/05. Kodovi su od 100 do 114, 120, 121 pa probaj. Npr. za nase oznake su 103 (za format dd/MM/yyyy), 104 (za format dd.MM.yyyy)...
 
Kad smo vec kod datuma i vremena, zna li neko kako da na MS SQL serveru iz podatka koji je tipa datetime, izvucem samo date, a da to bude elegantno resenje? Znaci ne da ga bacim u promenjivu tipa date, nego da u upitu odmah dobijem datum.

1. Label1.Text = Format(DateTime, "dd")
2. Label1.Text = Date.Time.Today.Day

Ovo je ono sto se moze uraditi VB-om 2005. U svakom slucaju pokusajte....
 
Pitam se ja da li si uopste proverio sta pokazuje s obzirom da stoji "Date" a ne "Time" u formatu.
Pokazace minute jedino ako se formatira drugacije nego sto sam naveo.
Inace "mm" pokazuje redni broj meseca (01,02, 03...) dok "mmmm" naziv meseca (Januar, Februar, Mart...) i nema veze sa minutima jer u formatu nije rec o vremenu vec o datumu.

Nisam proverio!
1. Kod ku'ce nemam internet, a ne mogu ni imati.(zivim pola sata pesice od grada). Sada sam na besplatnom internetu, ali tu nema VB.
2. Nisam obratio paznju da stoji "Date".
3. Bio sam "siguran" da je tako.
4. Ja sam radio na VB 2005 i kod mene je malo drugacije.
Priznajem da ste u pravu i izvinjavam se.

Sada sam proverio na VB 2008. Kod mene ne priznaje: Format(Date, .......) ili Format(Time,...).
Moze biti Format(DateTime.Now, .....) {ili Format(DateAndTime.Now, ....)} i Format(TimeOfDay, ......).
Format(Date.Time.Now, ...) za mm daje minute.
M je mesec kao 1, 2, 3, ...
MM je mesec kao 01, 02, 03, ....
MMM je mesec kao Jan, Fev, ...
MMMM je puno ime meseca.

Pozdrav!
 

Back
Top