# StringFormat, to one decimal place, unless there is a 0 after the decimal point

Go to solution Solved by abberration,

## Recommended Posts

Hello everyone,
I have a probably simple question but it's driving me crazy.

I need to format a number to one decimal place, unless there is a 0 after the decimal point, in which case I need a number without a decimal point.

Have a number
10.5 ->  010.5

```;////////////////////////////////
;// Decimal precision
;////////////////////////////////
\$double = 10.5

\$fDouble = StringFormat("%05.1f", \$double)
ConsoleWrite("Decimal precision: " & \$fDouble & @CRLF)```

That's ok.

But for  10.0 I want 00010 and got 010.0

```;////////////////////////////////
;// Decimal precision
;////////////////////////////////
\$double = 10.0

\$fDouble = StringFormat("%05.1f", \$double)
ConsoleWrite("Decimal precision: " & \$fDouble & @CRLF)```

##### Share on other sites

Is there more elegant solution?

```;////////////////////////////////
;// Decimal precision
;////////////////////////////////
\$double = 10.5

IF IsFloat (\$double) Then
\$fDouble = StringFormat("%05.1f", \$double)

ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : \$fDouble = ' & \$fDouble & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

Else
\$fDouble = StringFormat("%05i", \$double)

ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : \$fDouble = ' & \$fDouble & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

EndIf```

##### Share on other sites
• Solution
```Local \$double = 10.5, \$fDouble
\$fDouble = StringFormat(IsFloat (\$double)?"%05.1f":"%05i", \$double)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : \$fDouble = ' & \$fDouble & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console```

Edited by abberration
##### Share on other sites
```Local \$aValues = [10.5, 0.0, -1.0, -3.001, 5.00000001]

For \$n In \$aValues
ConsoleWrite(StringFormat((IsInt(\$n) ? "%05i\n" : "%05.1f\n"), \$n))
Next```

Sorry for that, I was typing my answer but got diverted elsewhere while @abberration posted.

Edited by jchd

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

##### Share on other sites

Great help, thank you both

## Create an account

Register a new account

• ### Recently Browsing   0 members

×

• Wiki

• Back

• #### Beta

• Git
• FAQ
×
• Create New...