VBA a dlouhá čísla
Napsal: 29 bře 2013 10:52
Mám informační otázku k zobrazovaní a případným vypočtu s dlouhými čísly a vědeckému zápisu čísel!
Když v VBA editoru napíšu
DlouheCislo = 999999999
což je o 9-ti místné číslo ( do 999 milionu)
kompilátor to ponechá nezměněné:
Když v VBA editoru napíšu
DlouheCislo = 9999999999
což je o 10-ti místné číslo (od 1 Miliardy)
kompilátor toto změni na
Křížek je přidaný do 15-ti místného čísla (do 999 bilionu)
Delší čísla (od 1 biliardy) jsou zaměněna na vědecký zápis
Když v VBA editoru napíšu
DlouheCislo = 9999999999999999
což je o 16-ti místné číslo (od 1 biliardy)
kompilátor toto změni na
Otázka zní:
1. proč je přidaný křížek?
2. Jsou výpočty ve vědeckém zápisu přesné a jak je provádět?
3. Dá se číslo 1E+16 převézt zpět na vystup do 9 999 999 999 999 999?
4. Později mne napadla otázka velmi dlouhých čísel v poli s vlastnost Automatické číslo
Neřeším problém, jen mi tyto hodnoty zobrazovalo při testovaní mé funkce, a chvíli mi trvalo než jsem se ujistil, že to tak má být.
Za info děkuji
P.s. Bylo by ale hezké, řešit problém jak zobrazit 1E+16 v poli "Základ daně" :-)
Když v VBA editoru napíšu
DlouheCislo = 999999999
což je o 9-ti místné číslo ( do 999 milionu)
kompilátor to ponechá nezměněné:
Kód: Vybrat vše
DlouheCislo = 999999999
Když v VBA editoru napíšu
DlouheCislo = 9999999999
což je o 10-ti místné číslo (od 1 Miliardy)
kompilátor toto změni na
Kód: Vybrat vše
DlouheCislo = 9999999999#
Křížek je přidaný do 15-ti místného čísla (do 999 bilionu)
Delší čísla (od 1 biliardy) jsou zaměněna na vědecký zápis
Když v VBA editoru napíšu
DlouheCislo = 9999999999999999
což je o 16-ti místné číslo (od 1 biliardy)
kompilátor toto změni na
Kód: Vybrat vše
DlouheCislo = 1E+16
Otázka zní:
1. proč je přidaný křížek?
2. Jsou výpočty ve vědeckém zápisu přesné a jak je provádět?
3. Dá se číslo 1E+16 převézt zpět na vystup do 9 999 999 999 999 999?
4. Později mne napadla otázka velmi dlouhých čísel v poli s vlastnost Automatické číslo
Neřeším problém, jen mi tyto hodnoty zobrazovalo při testovaní mé funkce, a chvíli mi trvalo než jsem se ujistil, že to tak má být.
Za info děkuji
P.s. Bylo by ale hezké, řešit problém jak zobrazit 1E+16 v poli "Základ daně" :-)