problem pri vypočtoch   otázka

VB.NET

Dobry večer!

Vyskytuje sa mi nasledovny problem pri vypočtoch systemom:

textbox1.text = val(textbox3.text) - val(textbox2.text)

ak dam napriklad 525,9 - 525,6 vyjde mi nasledovne 0,299999999999955 čo je nezmysel... vie niekto prečo?

A tiež by som potreboval zmeniť používanie , namiesto . lebo teraz desatinne miesta ide len zadavať cez "." a potreboval by som ","

Dakujem

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

Protože funkce Val vrací hodnoty typu Double. Muselo by se to převést na Decimal.

Já bych ale funkci Val vůbec nepoužíval, místo ní bych použil přímo metodu Decimal.Parse například takto:

TextBox1.Text = Decimal.Parse(TextBox3.Text, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.CurrentCulture) -
        Decimal.Parse(TextBox2.Text, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.CurrentCulture)
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ohledně Decimal vs. Double v .NETu doporučuji kouknout na tento článek:

http://ericlippert.com/2013/07/18/why-no...

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