I mitt program används just nu decimalpunkt som avskiljare mellan heltal och decimaltal. I normalfallet används det som är inställt i Windows, så frågan är hur du har gjort för att gå ifrån det? I dom TextBoxar där du matar in decimaltal kan du använda denna kod. <b>Jag predikar fö. tvärtom använd alltid (.) Punkt vid inmatningar.</b> Poängen är denna: *LOL* . Förstod direkt att här blir det mothugg. Jag bryr mig icke om vad Ni tycker. <b>Förstod direkt att här blir det mothugg. Jag bryr mig icke om vad Ni tycker.</b> mmm.... Ok förstår att det blir olika uppfattningar. Frågeställaren kastade in en brandfackla och försvann sedan. Ja skit the same. Ägaren till tråden hör inte av sig.Konvertera decimalpunkt till decimalkomma
Hur kan jag skriva om programvaran så att det blir decimalkomma som används (svensk standard)
//HåcanSv: Konvertera decimalpunkt till decimalkomma
/JohanSv:Konvertera decimalpunkt till decimalkomma
<code>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' Punkt blir komma
End Sub
</code>
Jag predikar fö. tvärtom använd alltid (.) Punkt vid inmatningar.
Livet blir mycket lättare vid matematiska beräkningar eftersom VB i grunden arbetar med punkt.
Du kan också kolla på Replace funktionen om du vill ändra en String variabel.Sv: Konvertera decimalpunkt till decimalkomma
Nej nej nej!! Har användaren valt att använda ett visst decimaltecken så är det det som gäller! Finns inget värre än program som inte följer de nationella inställningarna i Windows. För presentation kan man kanske acceptera något annat, men för inmatning ska man definitivt följa det!
/JohanSv:Konvertera decimalpunkt till decimalkomma
Ja, Eftersom användaren själv väljer inställning i Windows så innebär det att om man har ett program som följer detta automatiskt så är det inget problem vid inmatningen utan det får vara som det är. Men men men
1. Om man tvingar VB-mjukvaran att sätta en viss decimalavskiljare, oavsett vilken så kan det hända att mjukvaran INTE fungerar på en dator som har andra inställningar. Den tolkar då matimatiska uttryck felaktigt.
2. Talet 1206 komma 43 skrivs i Sverige som 1.206,43 (först punkt sedan komma) och på en del andra ställen som 1,206.43 (komma sedan punkt). Så den av föreslagna Sven-Åke person föreslagna kan i värsta fall byta ut "fel tecken". Beroende på om avkiljare - för tusental, kan anges eller inte.
3. Problemet kan bli hur siffrorna lagras, om de lagras i en fil, och hur de tas tillbaka och om filen kan vara skriven på en dator med en inställning och sedan skall läsas av en annan. Då behöver man gå på djupet med frågeställningen.
4. Jag hade motsvarande problem för datum. 19 Januari 2008 kan skrivas som 2008-01-19, som 19-01-2008 och 01-19-2008 och avskiljningarna kan vara + eller . eller ... Så jag skapade en Active x som tog hand om detta, kanske det behövs en för taltolkning med. Men grundregeln är alltså att du INTE ändrar det som fungerar automatiskt.
PerSv: Konvertera decimalpunkt till decimalkomma
Principen är att man håller en konsekvent linje. Min linje har blivit (.) i alla läge.
Om du skriver en algoritm med komplicerade uträkningar måste du i alla fall se till
att ingående variabler har (.) som decimalavskiljare. I matte använder Vi (.).
Vid presentation är det Ok med komma (i Sverige) .
Ni kan väl hålla med om att det är inte helt problemfritt hur man handskas med detta problem.
Speciellt om du använder Format$( , )Sv:Konvertera decimalpunkt till decimalkomma
Jag bryr mig inte om vad du tycker så länge jag slipper använda dina program! ;)
<b>Principen är att man håller en konsekvent linje. Min linje har blivit (.) i alla läge.</b>
Min är att följa inställningarna i Windows...
<b>Om du skriver en algoritm med komplicerade uträkningar måste du i alla fall se till
att ingående variabler har (.) som decimalavskiljare.</b>
Så länge man använder rätt datatyper (=inte strängar) så har jag aldrig varit med om att val av decimaltecken ställt till det (bortsett från "trasiga" tredjeparts-komponenter då).
<b>I matte använder Vi (.). Vid presentation är det Ok med komma (i Sverige) .</b>
Tvärt om, vi använder "," i Sverige.
<b>Ni kan väl hålla med om att det är inte helt problemfritt hur man handskas med detta problem.</b>
Så länge man använder rätt datatyper är det inget problem. Det kluriga är att validera indata tycker jag.
/JohanSv: Konvertera decimalpunkt till decimalkomma
Hur som helst så fungerar mina program oberoende om dom används i Amerika eller Frankrike.
För att återgå till ursprungsfrågan. Vad svarar Ni frågeställaren ???Sv:Konvertera decimalpunkt till decimalkomma
PerSv:Konvertera decimalpunkt till decimalkomma
Pelle-klåfinger har varit framme. Tycker det var en rolig läsvärd tråd.
Tycker "Mögelhatten" Sven ;-)