FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
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 |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
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); Kod:
printf(".%d", value*1000000); Kod:
printf("%s.%d",value==1?"1":"",value==1?0:value*1000000); |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
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. ![]() |
|||
![]() |
![]() |
Svara |
|
|