Dá se nějak vypnout zaokrouhlení ?   zodpovězená otázka

VB.NET

Zdravím,

mám problém s automatickým zaokrouhlením. Potřebuji vydělit celé číslo stem abych dostal dvě desetinná místa a ono mi to vyhodí vždy číslo celé.

  Dim test As Integer
  Dim paja As Integer ="2456"
  test = (paja / 10)
  test = Format((paja), "0.00")
  Label1.Text = test

Zkoušel jsem taky

 test = Format((paja / 10), "0.00")

ale nefunguje.

Neví někdo jak na to?

Pavel

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zatím jsem přišel jen na to, že převedu proměnnou TEST na String a funguje to. Nezná někdo lepší řešení než je tohle?

  Dim test As String
  Dim paja As Integer ="2456"
  test = Format((paja/10), "000.00")
  Label1.Text = test

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Dobrý den,

provádět se stringem matematické operace je blbost a zaděláváte si na malér. Problém není v zaokrouhlování (vb automaticky nezaokrouhluje) ale v tom, že používáte datový typ Integer, což je celočíselný typ. Použíjte místo integeru třeba double a bude to ok.

Jinak doporučuji si prostudovat tutoriál pro začátečníky, toto jsou základy. Chce to znát alespoň pár základních datových typů, jinak si koledujete že je budete špatně používat a nějaká Vaše funkce bude vracet nesmysly. Tyto chyby se pak dost špatně hledají.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Čísla proboha nepište do uvozovek. Číslo je číslo a do uvozovek se nepíše, textový řetězec je textový řetězec a do uvozovek se naopak píše.

"5" a 5 je rozdíl - první je typu String, když k tomu přičtete další takovou pětku, dostanete "55". U Stringů máte jiné porovnávání ("5" > "1000") atd., mezi tím je potřeba rozlišovat. Na každém místě v programu musíte vy jako programátor vědět, jestli je hodnota typu String, Integer (celé čístlo) nebo Double (desetinné číslo). Visual Basic vám leccos povolí, to ale neznamená, že je to dobře a efektivně.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za vysvětlení.

pomohlo to :)

Pavel

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback