Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Omvandling till double blir knas

Postades av 2003-01-25 11:53:18 - Roland Ringhede, i forum visual basic - allmänt, Tråden har 5 Kommentarer och lästs av 768 personer

Upptäckt problem med omvandling av sträng till double.

Läser in parameterar från fil, textsträng inläst "1.02"

Försökte omvandla denna med CDbl men blev knas

Testar då med följande snutt.

Dim sValue As string
Dim dValue As Double

sValue = "1.02"
dValue = CDbl(sValue)


då blir dValue 102 (fel)

men testar jag med

dValue = Val(sValue)

så blir det 1,02 (rätt)


Måste man byta decimalseparator, till punkt, för att CDbl skall fungera riktigt eller finns det någon parameter som behöver sättas om i VB för rätt funktion?
Eller är CDbl fel att använda ? trodde den var till för denna typ av konvertering ?

(Om jag i filen använt 1,02 hade det nog fungerat i Sverige men knappast internationellt)



Svara

Sv: Omvandling till double blir knas

Postades av 2003-01-25 12:38:00 - Andreas Hillqvist

Val() funktionen använder alltid punkt som decimalseparator. Meddans CLng(), CDbl(), osv. Använder sig av det nationella inställningarna.

Denna funktion kanse kan vara till hjälp:
<code>
Public Function Number(Value As String) As Double
Number = Val(Replace(Value, ",", "."))
End Function
</code>
Du kan prova med olika inställningar av decimal separator.

Detta är en besvärlig fråga om talet innehåller tusenavgränsare. Amerikanerna använder komma som tusenavgränsare och punkt som decimal avgrännsare. Vilket inte gör det till bara en enkel ersättningsfårga.


Svara

Sv: Omvandling till double blir knas

Postades av 2003-01-25 12:51:24 - Roland Ringhede

Tackar Andreas, använder sedan tidigare din lösning med byte av tecken vid andra tillfällen, men känns ändå som en nödlösning här.

Om det verkligen är så har Microsoft verkligen misslyckats med att bygga lösningar för internatinell användning speciellt det du skrev om tusenavgränsare. Lämpligen borde man skriva en egen funktion för CDbl som tar hänsyn till hur inställngarna i datorn är gjorda. (liknande den du skrev, men i ett mattebibliotek)

Kan bara rysa av tanken att få in tal i systemet typ

123,456.78 brrrrrrrrrrrrr.


Svara

Sv: Omvandling till double blir knas

Postades av 2003-01-25 13:03:03 - Sven Åke Persson

Hej
Ja detta eviga problem,man får nog inse att det är Vi som är
avvikande som använder (,) komma.Jag har hittat en filosofi som
jag alltid använder konsekvent .Datormatematik så gäller (.) punkt.
Därför gäller Val .Ditt exempel behandlar jag efter denna princip.

Option Explicit
Private Sub Command1_Click()
Dim sValue As String
Dim dValue As Double
sValue = Replace("1,02", ",", ".")
dValue = Val(sValue)
Label1.Caption = dValue
End Sub

Du kan kolla användarens decimalinställning med detta test.
If Format$(0, ".") = "," Then
'Användaren har komma (,)
Else
'Användaren har punkt (.)
End If
/Sven


Svara

Sv: Omvandling till double blir knas

Postades av 2003-01-25 13:14:10 - Andreas Hillqvist

Ska det inte vara:
<code>
If Format$(0, ".") = "," Then
'Användaren har komma (,)
Else
'Användaren har komma (.)
End If
</code>


Svara

Sv: Omvandling till double blir knas

Postades av 2003-01-25 16:12:56 - Roland Ringhede

Finns det ingen politiker här på pellesoft som kan lägga in en motion i Riksdagen om att vi ändrar och går över till punkt i stället för komma som decimalseparator.
Verkar vara enklare än att få datorsystem att rätta sig efter vad som gäller, men nu skriker säkert flera FOLKOMRÖSTNING, men kanske lättare att få igenom än EMU och gemensam valuta, va? blev det inte dollar !?



Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 170
27 953
271 705
809
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies