Konvertera double till sträng tar bort eftersläpande nollor

Permalänk

Konvertera double till sträng tar bort eftersläpande nollor

double test = 1.0;

NumberFormatInfo oFormatInfo = new NumberFormatInfo();

oFormatInfo.NumberDecimalSeparator = ".";
oFormatInfo.NumberGroupSizes = new int[] { 0 };

string result = test.ToString(oFormatInfo);

Ger result = 1, men jag vill ja 1.0.

Har försökt många olika sätt utan resultat. Vill ej använda ToString("0.##") då jag inte vill limitera antalet eftersläpande decimaler. Någon som har nån ide?

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk
Hedersmedlem

Har själv stött på det problemet, löste det genom att skriva ut talet med en angiven maxprecision till en string, kolla om decimaltecknet kom med, räkna nollorna bakifrån och plocka bort dem. Det går enkelt att hitta på varianter som låter ett visst antal decimaler vara kvar, eller ett visst antal eftersläpande nollor.

Visa signatur

Religion och vidskepelse är smittsamma psykiska sjukdomar, den biologiska motsvarigheten till datorvirus.
"-Pappa, pappa, idag firade vi födelsedag och hela dagis fick gå på McDonalds. - Vems födelsedag då? - En farbror som hette Lenin."

Permalänk
Medlem

Nu har jag inte mycket erfarenhet av .NET, men kan du inte använda NumberDecimalDigits?

Permalänk
Skrivet av perost:

Nu har jag inte mycket erfarenhet av .NET, men kan du inte använda NumberDecimalDigits?

Det funkar bara om de eftersläpande decimalerna != 0

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk
Skrivet av Ulvenstein:

Har själv stött på det problemet, löste det genom att talet med en angiven maxprecision, kolla om decimaltecknet kom med, räkna nollorna bakifrån och plocka bort dem. Det går enkelt att hitta på varianter som låter ett visst antal decimaler vara kvar, eller ett visst antal eftersläpande nollor.

Hur gör man det för en variabel double?

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk
Hedersmedlem
Skrivet av DigitalZap:

Hur gör man det för en variabel double?

Missade ett par ord i en mening ovan, så jag förstår att du blir lite förvirrad. Datatypen är oväsentlig.

1. Skriv ut talet
2. Leta upp decimaltecknet och lägg till/ta bort de decimaler du vill för hand.

Visa signatur

Religion och vidskepelse är smittsamma psykiska sjukdomar, den biologiska motsvarigheten till datorvirus.
"-Pappa, pappa, idag firade vi födelsedag och hela dagis fick gå på McDonalds. - Vems födelsedag då? - En farbror som hette Lenin."