Avatar billede taager-kongen Nybegynder
27. december 2002 - 16:30 Der er 9 kommentarer og
1 løsning

decimaler

tja.. hvordan foklare man dette...
hvis strTal er , ingenting altså 50 skal den tilføje ,00 til strTal

Hvordan gør man det?
Avatar billede taager-kongen Nybegynder
27. december 2002 - 16:31 #1
hvis der er ingen decimaler skal den tilføje ,00 og hvis der er et skal den tilføje 0 til strTal
forstår i??
Avatar billede eagleeye Praktikant
27. december 2002 - 16:45 #2
Hvis der altid skal enten ,00 eller 0 på kan ud tjekke på om der er , i strTal.:

if inStr(1,strTal,",") > 0 then
  'Der var et komma i
  strTal = strTal & "0"
else
  'Igen komma i
  strTal = strTal & ",00"
end if
Avatar billede taager-kongen Nybegynder
27. december 2002 - 16:55 #3
takker meget
Avatar billede taager-kongen Nybegynder
27. december 2002 - 17:42 #4
hvis nu strTal er 10,25 bliver det til 10,250 Kan du hjælpe med det problem?
Avatar billede eagleeye Praktikant
27. december 2002 - 18:23 #5
Ja så kan du udbygge ddt sådan her:


if inStr(1,strTal,",") > 0 then
  'Der var et komma i
  if len(Mid(strTal,inStr(1,strTal,",")+1) = 1 then
    strTal = strTal & "0"
  end if
else
  'Igen komma i
  strTal = strTal & ",00"
end if
Avatar billede sho Nybegynder
27. december 2002 - 18:35 #6
Der er en mere elegant måde at behandle decimaler på i ASP.

FormatNumber(Tal, DecEfterKomma, TalForanKomma, NegTal, Tusinder)

Tal            : Tallet eller variablen med tallet

DecEfterKomma        : Kan udelades
              Antal Decimaler efter komma
              -1 (default) bruger Regional Settings

TalForanKomma        : Kan udelades
              vbTrue skriver tal under én '0,00'
              vbFalse skriver tal under én ',00'
              -1 (default) bruger Regional Settings

NegTal            : Kan udelades
              vbTrue sætter parenteser omkring
              vFalse gør ikke

Tusinder        : Kan udelades
              vbTrue bruger tusindtalseparator
              vbFalse gør ikke                              -1 (default) bruger Regional Settings

Eksempler:

FormatNumber(123, 2, vbTrue, vbFalse, vbTrue)    //123,00
FormatNumber(1234, 2, vbTrue, vbFalse, vbTrue)    //1.234,00
FormatNumber(.4, 3, vbTrue, vbFalse, vbTrue)    //0,400
FormatNumber(.4, 3, vbFalse, vbFalse, vbTrue)    //,400

Det giver vist sig selv, men ellers prøv dig lidt frem.

-Søren
Avatar billede taager-kongen Nybegynder
27. december 2002 - 18:42 #7
for denne fejl:
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
Tegnet ')' var ventet
/rasmus/kunst/ny/asp/tilmeld_rabat.asp, line 337, column 57
if len(Mid(strRabatpris,inStr(1,strRabatpris,",")+1) = 1 then
--------------------------------------------------------^
Avatar billede sho Nybegynder
27. december 2002 - 18:49 #8
Der mangler en venstreparentes. En nemmere løsning til erstatning for hele det accepterede svar ville være:

strTal = FormatNumber(strTal, 2, vbTrue, vbFalse, vbTrue)

-Søren
Avatar billede sho Nybegynder
27. december 2002 - 18:50 #9
Undskyld, sevlfølgelig en højre-parentes. Der er kun angivet to parametre i Mid-udtrykket, men der skal være tre.

Det ændrer ikke ved mit foregående svar :-)
Avatar billede eagleeye Praktikant
27. december 2002 - 18:53 #10
if len(Mid(strRabatpris,inStr(1,strRabatpris,",")+1)) = 1 then
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester