Hej ! Titta på antingen FormatCurrency eller FormatNumber funktionen. Ser ingen annan lösning än att göra ungefär såhär <code> Ta en titt på "Format" funktionen. jättebra! Tack verkar funka, vet nån hur man högerjusterar utskriften på just den strängen?? Det skrev jag redan i min kod.Formatera string till "Valutautseende"
När jag ska ha ut summan på en faktura vid utskrift så skriver jag ut totalen som jag får utav några produkter tex!
-------------
a= 33
b=33,5
tot = a + b
print tot
---------------
då får jag på pappret en summa som ser ut 66,5
det jag nu vill ha är att programet snyggar till det lite... tex 66,50 :-
och jag vill ha det högerjusterat på print funktionen .. nån som vet hur man gör... ibland får jag så jävla fula tal .. tex 7550,26545 ... det vill jag printa som 7 550,00 :-
--- alltså mellanslag för tusental och avrunda till femtio öre ??
snälla nån som vet???Sv: Formatera string till "Valutautseende"
Eventuellt om du inte vill ha sek bakom så får du lägga till :- bakom din siffra.
//Anna-KarinSv:Formatera string till "Valutautseende"
<code>
Private Sub Command1_Click()
Dim resultat As String
Dim cur As Currency
Dim frc As Single
Dim frac As Single
cur = 7550.26545 'från uträknig med . som decimalavskiljare
frc = cur - Int(cur)
Select Case frc
Case 0 To 0.25
frac = 0
Case 0.26 To 0.75
frac = 0.5
Case Is > 0.75
frac = 1
End Select
cur = Int(cur) + frac
resultat = Format$(cur, " # ### ##0.00 :-")
MsgBox resultat
'Printer.Print resultat
'EndDoc
End Sub
</code>Sv: Formatera string till "Valutautseende"
Dim Summa1 As Single, Summa2 As String
Summa1 = 33.5 'den totala summan
Summa2 = Format(Summa1, "# ### ##0.00")
Printer.CurrentY = Printer.Width - Printer.TextWidth(Summa2)
Printer.Print Summa2
</code>
Angående att skriva ut :- är helt fel i det här fallet, då det betyder "inga ören". Ex. 32:50, 99:90, 10:-
Man kan alltså inte skriva 99:90:-
Personligen anser jag att det är snyggare att skriva 10:00, men vill man gärna använda sig utav :- så ska man självklart hålla sig till samma skiljetecken som annars. Dvs i kombination med min kod skulle det bli 10.- (eftersom jag använder punk som skiljetecken).
Edit: Jag ser nu att jag helt missade öresutjämningen. Min kod i kombination med SvenPons kanske kan vara en lösning.
ThomasSv: Formatera string till "Valutautseende"
Dim FormateratPris As String
FormateratPris = Format(MittPris, "Currency")
"Currency" gör att FormateratPris kommer att formateras enligt de valuta inställningar du gjort under "Nationella inställningar och språkinställningar" i kontrollpanelen.
//
JanneSv: Formatera string till "Valutautseende"
Sv:Formatera string till "Valutautseende"
<code>
Printer.CurrentY = Printer.Width - Printer.TextWidth(Summa2)
</code>
Thomas