Yksinkertainen ongelma, mutta ei aukea.Eli TextBoxeissa jotka lasketaan yhteen on esim. luvut 2,6 ja 5,2 ja 4,3.
Text26.Text:iin tulostuu tasaluku 11 (pitäisi olla 12,1). Pyytää ystävällisesti apua.Miksei laske desimaaleja?
Koodi:
Private Sub Command1_Click()
Dim luku1 As Single
Dim luku2 As Single
Dim luku3 As Single
Dim luku4 As Single
luku1 = Text23.Text
luku2 = Text24.Text
luku3 = Text25.Text
luku4 = Text26.Text
luku4 = (luku1) + (luku2) + (luku3)
Text26.Text =luku4
End Sub
Minulla tuo koodi kyllä toimi sellaisenaan...
eli sain noista luvuista vastauksen 12,1 textboxiin.
Eihän sinulla ole mitään dataformatteja määritetty niihin textboxeihin?
TextBoxin desimaalit hallitsee yksinkertaisimmin seuraavasti:
Text26 = -(-Text23 - Text24 - Text25)
Yhteenlaskussa on käytettävä miinusmerkkejä koska plusmerkki liittää luvut merkkijonoina yhteen. Muut laskutoimitukset toimii suoraan. Desimaalierottimena oltava pilkku. Toimii ainakin VB5:ssä.
No niin.Pienestä oli taas kiinni.Olin määrittänyt numeroksi ilman desimaaleja.
Kiitos avusta.
lainaus:
Text26 = -(-Text23 - Text24 - Text25)
Yhteenlaskussa on käytettävä miinusmerkkejä koska plusmerkki liittää luvut merkkijonoina yhteen.
Ovelaa ^_^ Enpä olis tuota itse keksinyt. Vaihtoehtoinen tapa:
Text26 = Val(Text23) + Val(Text24) + Val(Text25)
Val funktio vaatii desimaalierottimeksi pisteen. Tuloksessa kuitenkin erotin on pilkku. Siksi kannattaa käyttää textBoxeja suoraan tai muuttaa luvuksi Csng-funktiolla, joka taas ei huoli pistettä desimaalierottimeksi muttaa sentään ilmaisee asian virheilmoituksella.
Aihe on jo aika vanha, joten et voi enää vastata siihen.