webForumDet fria alternativet

Avrunda till max en decimal

.NET

3 svar · 2 074 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Frågan#1

Hej!

Hur avrundar man ett tal till max en decmal?

Exempelvis

22,000 -> 22
19,500 -> 19,5
28,738 -> 28,7

Som ni ser så är det max en decimal. Men om det är onödigt med en decimal så tar den bort decimalerna helt.
Finns det någon bra funktion för detta eller måste jag strängformatera?

Medlem sedan dec. 19995 874 inlägg
#2
myStr.ToString("#####.#")
Medlem sedan dec. 19998 577 inlägg
#3

Men om det är decimalt så vill du väl inte göra om det till sträng? Eller är det bara för utskrift?

Annars:
System.Decimal.Round( variabel, decimaler )

Gör din kod en avrundning, eller bara en avkapning? Vore intressant att veta. ;)

Medlem sedan dec. 19995 874 inlägg
#4

Men round()-funktionen är ju antal decimaler. Vilket gör att

22,000 -> 22,0 om man kör round(22,000,1), och det ville jag inte.
Japp det är bara för utskrift och därför går det bra med sträng.

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)