v čem je chyba?   zodpovězená otázka

VB.NET, Algoritmy

Zdravím, následující kód mi VS vrací s tím, že nejde převést na double!

        Dim alfaRad As String = (alfa.Text * Math.PI) / 180
        Dim betaRad As String = (beta.Text * Math.PI) / 180

alfa a beta jsou TextBoxy. Do nich se zapíše úhel ve stupních a kód je má převést na radiány. Jednoduchá trojčlenka a mě to vrací s tím, že nejde převést na double. Vždyť String je text, a pokud má být výsledek např. 70,48, tak je podle mě jedno jestli je označen jako Double anebo jako String. Ve výsledku se stejně jen vypíše do TextBoxu.

Díky za rady

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

Dobrý den,

musíte to přetypovat. Použijte třeba tento kód, snad je to jasné.

 Dim prom As Double = CDbl(alfa.Text)
 Dim vypocet As Double = (prom * Math.PI) / 180
 Dim alfa As String = CStr(vypocet)

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

Texty nemůžete jenom tak sčítat nebo násobit, musíte je převést. I když VB leccos snese, převádět vždy a vše je nejjistější. Uvědomte si, že například + dělá něco jiného na číslech a něco jiného na textu.

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

Díky za obě odpovědi.

já si právě nebyl vůbec jist jestli je nutné to převádět až takto pomocí 3 proměnných, ale budiž věřím, že tento kód bude fungovat. Díky mockrát, cením si takovýchto odpovědí:-)

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

Stačí 1 proměnná:

 Dim alfa As Double = (CDbl(alfa.Text) * Math.PI) / 180

no a to si už můžete převést na string pomocí již zmiň. způsobu:

 Dim prevedeno As String = CStr(alfa)

a nebo rovnou:

 Dim alfa As String = CStr((CDbl(alfa.Text) * Math.PI) / 180)

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

Máš pravdu, jen jsem mu to chtěl rozepsat aby pochopil o co jde.

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

Tak to jo. Já to psal jen aby si nemyslel že je nutné to takhle rozepisovat :-)

nahlásit spamnahlásit spam 1 / 1 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