Jag ska spara lite beräkningar i en textfil. Men talen har 5-6 decimaler och jag vill spara dem med endast 2 decimaler. Hur gör jag för att avrunda dem till rätt antal decimaler? Metoden FormatNumber löser förmodligen ditt problem, tex: FormatNumber(variabel, 2) Testa följande... Ja, FormatNumber() funkar bra. FormatNumber() fungerar bra tills talet stiger över 1000. Då infinner sig plötsligt ett blanksteg mellan tusental och hundratal. (?) När man sedan öppnar filen i Excel blir det pannkaka….. Borde du inte kunna använda NumberFormatInfo i System.Globlaization? Mycket möjligt Johan. Är nybörjare på VB.NET och reder inte ut det riktigt men jag är nöjd ändå med hjälpen. Detta är väl ungefär vad du vill ha också, den avrundar nog t.om rätt... Tack Johan för din kod. Testade igår och det fungerade alldeles utmärkt!Antal decimaler
Sv: Antal decimaler
Sv: Antal decimaler
<code>
Math.Round(1.238498727, 2)
</code>
För övrigt innehåller Math biblioteket en hel del nyttigt som har med matte att göra ;)
Mvh,
ThomasSv: Antal decimaler
Round kan vara lite lurigt då det avrundar jämna nummer neråt och udda uppåt. (Detta för att bevara ett ev. snittvärde även efter avrundning.)
Round(0.5, 0) 'Ger 0
Round(1.5, 0) 'Ger 2
Round(2.5, 0) 'Ger 2
Round(3.5, 0) 'Ger 4
/AndréSv: Antal decimaler
OlaSv: Antal decimaler
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemGlobalizationNumberFormatInfoClassTopic.asp?frame=trueSv: Antal decimaler
Måste ändå säga att det är märkligt att en så enkel fråga inte har ett enkelt och rätt och i alla lägen fungerande svar.....
OlaSv: Antal decimaler
Dim mydecimal as Decimal
mydecimal=Convert.ToDecimal("123,4567")
Console.WriteLine(mydecimal.ToString("0.00")
Sv: Antal decimaler
Mvh Ola