Format: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
FormatCurrency(''expression''[, ''fractionaldigits''[, ''leadingdigit''[, ''parensfornegative''[, ''groupdigits'']]]])
Format(''string'', ''replace0''[,''replace1''...])
 
Format(''string'', {replace object})
FormatDateTime(''date''[, ''formatname''])
 
FormatNumber(''expression''[, ''fractionaldigits''[, ''leadingdigit''[, ''parensfornegative''[, ''groupdigits'']]]])
 
FormatPercent(''expression''[, ''fractionaldigits''[,''leadingdigit''[, ''parensfornegative''[, ''groupdigits'']]]])
 


== Description ==
== Description ==


FormatCurrency, FormatNumber, and FormatPercent return a string obtained by formatting the given expression as a currency, number, or percent. The required parameter, ''expression'', is any valid expression of the given type. The optional parameter, ''fractionaldigits'', is a numeric expression representing the number of digits to print after the decimal, the default is -1 which uses the system settings.  
Replaces {n} placeholders with arguments. One or more arguments can be passed, in addition to the string itself, to insert into the string. Arguments can be three different style:
<ol>
<li>{} Empty brackets. Placeholders are replaced with arguments in the same order as they appear in the function call.
<li>{1] Brackets with a number. Placeholders are replaced by the argument number as it appears in the function call.
<li>{name} Brackets with a name. Placeholders are replaced by the value of the name in the argument object.
</ol>


The optional parameters, ''leadingdigit'', ''parensfornegative'', and ''groupdigits'', are tristate values. See table below.
== Example ==


''leadingdigit'' specifies whether a leading zero is printed for numbers with only fractional parts.
<tabber>
JavaScript=
<syntaxhighlight lang="JavaScript">
guy = {first: "Eric", last: "Cartman"};


''parensfornegative'' specifies if negative values are to be printed with enclosing parentheses.  
NSB.Print("hello {} and {}".format("you", "bob"));
NSB.Print("hello {0} and {1}".format("you", "bob"));
NSB.Print("hello {first} {last}".format(guy));
NSB.Print("hello {0} and {1} and {a}".format("you", "bob", {a:"mary"}));
NSB.Print("hello {0} and {1} and {a} and {2}".format("you", "bob", "jill", {a:"mary"}));
</syntaxhighlight>
|-|
BASIC=
<syntaxhighlight lang="vb.net">
guy = {first: "Eric", last: "Cartman"}


''groupdigits'' specifies if numbers are to be printed in groups using the systems group delimiter.
Print Format("hello {} and {}", "you", "bob")
 
Print Format("hello {0} And {1}", "you", "bob")
'''Tristate values'''
Print Format("hello {first} {last}",guy)
 
Print Format("hello {0} and {1} and {a}", "you", "bob", {a:"mary"})
{| class="wikitable"
Print Format("hello {0} and {1} and {a} and {2}", "you", "bob", "jill", {a:"mary"})
|-
</syntaxhighlight>
! Name !! Value !! Description
</tabber>
|-
| True || -1 || True
|-
| False || 0 || False
|-
| TriStateUseDefault || -2 || Use system settings
|}
 
FormatDateTime returns a string obtained by formatting a date. The required parameter, ''date'', is any valid expression that represents a date. The optional parameter, ''formatname'', is a numeric expression or constant that specifies how the date is formatted.
 
''formatname constants'''
 
{| class="wikitable"
|-
! Constant !! Value !! Description
|-
| vbGeneralDate || 0 || Short date, Long time
|-
| vbLongDate || 1 || Long date
|-
| vbShortDate || 2 || Short date
|-
| vbLongTime || 3 || Long time
|-
| vbShortTime || 4 || Short time
|}
 
== Example (Basic) ==
 
<pre>
Rem Format Functions
Dim UseDefault
UseDefault=-2
'Currency
Print FormatCurrency(-3.5, -1, TristateUseDefault, True)
Print FormatCurrency(123456, 0,True, False, True)
'Date/Time
Print FormatDateTime(Now)
Print FormatDateTime(Birthdate, vbLongDate)
'General Numbers
Print FormatNumber(-0.1429, 6,False)
Print FormatNumber(987654.321, 3, True, False, True)
'Percentages
Print FormatPercent(0.007, 2, False)
Print FormatPercent(1234.56, 0,True, False, False)
</pre>
 
== Example (JavaScript) ==
<pre>
NSB.Print(FormatCurrency(-3.5, 2, 0, true));
NSB.Print(FormatCurrency(123456, 2, true, false, true));
</pre>


== Output ==
== Output ==
<pre>
<pre>
($3.50)
hello you and bob
$123,456
hello you and bob
8/18/1998 10:44 PM
hello Eric Cartman
August 18, 1998
hello you and bob and mary
-.142900
hello you and bob and mary and jill
987,654.321
.70%
123456%
(sample output is system dependant)
</pre>
</pre>


Line 94: Line 49:


[[Category:Strings]]
[[Category:Strings]]
[[Category:BASIC Functions]]

Latest revision as of 15:22, 24 July 2019

Format(string, replace0[,replace1...]) Format(string, {replace object})

Description

Replaces {n} placeholders with arguments. One or more arguments can be passed, in addition to the string itself, to insert into the string. Arguments can be three different style:

  1. {} Empty brackets. Placeholders are replaced with arguments in the same order as they appear in the function call.
  2. {1] Brackets with a number. Placeholders are replaced by the argument number as it appears in the function call.
  3. {name} Brackets with a name. Placeholders are replaced by the value of the name in the argument object.

Example

guy = {first: "Eric", last: "Cartman"};

NSB.Print("hello {} and {}".format("you", "bob"));
NSB.Print("hello {0} and {1}".format("you", "bob"));
NSB.Print("hello {first} {last}".format(guy));
NSB.Print("hello {0} and {1} and {a}".format("you", "bob", {a:"mary"}));
NSB.Print("hello {0} and {1} and {a} and {2}".format("you", "bob", "jill", {a:"mary"}));

guy = {first: "Eric", last: "Cartman"}

Print Format("hello {} and {}", "you", "bob")
Print Format("hello {0} And {1}", "you", "bob")
Print Format("hello {first} {last}",guy)
Print Format("hello {0} and {1} and {a}", "you", "bob", {a:"mary"})
Print Format("hello {0} and {1} and {a} and {2}", "you", "bob", "jill", {a:"mary"})

Output

hello you and bob
hello you and bob
hello Eric Cartman
hello you and bob and mary
hello you and bob and mary and jill