Kom ihåg mig?
Home Menu

Menu


Formatering av flyttal

Ämnesverktyg Visningsalternativ
Oläst 2008-11-10, 00:51 #1
goober goober är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 24
goober goober är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 24
Jag skulle behöva hjälp med utskriften av flyttal i java.

Om talet är mellan 1 och 0 vill jag inte att den inledande 0:an ska skrivas ut om, t ex. 0.12 => .12

Har gjort några försök med printf men utan större framgång, Går det att formatera detta med printf eller måste man göra det på ett krångligare sätt?

/Mathias
goober är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-10, 09:01 #2
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Just java har jag ingen koll på, men formatsträngar brukar ju fungera på ungefär samma sätt oavsett språk och i så fall så är nog tyvärr lösningen att konvertera till ett heltal.
Givet C-syntax borde din format sträng se ut så här idag:
Kod:
printf("%0.6f", value);
Men för att slippa nollan får du göra:
Kod:
printf(".%d", value*1000000);
Förutsätter ju att du aldrig har värdet "1" utan bara mellan 0 och 1. Om värdet 1 kan förekomma får du göra:
Kod:
printf("%s.%d",value==1?"1":"",value==1?0:value*1000000);
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 00:17 #3
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
det går ju också att köra hela printgrejen genom en replacefunktion som ersätter 0. med ....

typ printf(replace(minText, "0.", "."));

(pseudokod)....

inte speciellt snyggt, men det är bättre än inget ifall allt annat sviker.
totoo är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017