Antal decimaler i Borland?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Antal decimaler i Borland?

Inlägg av Virror »

Hur i hela fridens namn kan man ändra antalet decimaler när man ska skriva ett flyttal till en edit?

Tex: man har 1.2344667865433456 i variabeln test, sedan ska det läggas i Edit1, och man vill då ha resultatet 1.234 i Edit1 rutan.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1352
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Inlägg av baron3d »

Det finns ett "riktigt" sätt att göra det på, men har glömt det.
Försök med : Edit1->Text.printf("%4.3", var);
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Inlägg av Virror »

Hmm, funkar tyvär inte, blir bara en nolla.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1352
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Inlägg av baron3d »

Ops. Skulle visst vara:
Edit1->Text.printf("%4.3f", var);
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Inlägg av Virror »

Funkar fortfarande inte, testade med bara "Edit1->Text.printf("%f", 1);", och den skriver ändå bara ut en nolla...
Användarvisningsbild
ahlsten
Inlägg: 659
Blev medlem: 12 november 2005, 00:24:14
Ort: Uppsala

Inlägg av ahlsten »

Finns den metoden för den klassen då? Annars borde det väl gå att skriva (för tilldelningsoperatorn finns väl iaf):

Kod: Markera allt

Edit1->Text = sprintf("%4.3", test);
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1352
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Inlägg av baron3d »

Ok, jag har provat. Detta fungerar, även med "double".
Skriver ut 2 decimaler.

float a=12.3456778;
AnsiString s;
s.printf("%.2f", a);
Edit1->Text=s;
Virror
Inlägg: 1025
Blev medlem: 28 april 2004, 11:03:14
Ort: Göteborg
Kontakt:

Inlägg av Virror »

Det funkar nu!!!! TACK!
Har irriterat mig över det där i flera veckor nu.
Skriv svar