Format: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
 
(23 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 numeric expressions or constants, see below.
== Example ==
 
''leadingdigit'' specifies whether a leading zero is printed for numbers with only fractional parts.
 
''parensfornegative'' specifies if negative values are to be printed with enclosing parentheses.
 
''groupdigits'' specifies if numbers are to be printed in groups using the systems group delimiter.
 
'''Table 11: Tristate values'''
 
{| class="wikitable"
|-
! Name !! Value !! Description
|-
| 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.
 
'''Table 12: formatname constants'''


{| class="wikitable"
<tabber>
|-
JavaScript=
! Constant !! Value !! Description
<syntaxhighlight lang="JavaScript">
|-
guy = {first: "Eric", last: "Cartman"};
| vbGeneralDate || 0 || Short date, Long time
|-
| vbLongDate || 1 || Long date
|-
| vbShortDate || 2 || Short date
|-
| vbLongTime || 3 || Long time
|-
| vbShortTime || 4 || Short time
|}


== Example ==
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"}


<pre>
Print Format("hello {} and {}", "you", "bob")
Rem Format Functions
Print Format("hello {0} And {1}", "you", "bob")
Dim UseDefault
Print Format("hello {first} {last}",guy)
UseDefault=-2
Print Format("hello {0} and {1} and {a}", "you", "bob", {a:"mary"})
'Currency
Print Format("hello {0} and {1} and {a} and {2}", "you", "bob", "jill", {a:"mary"})
Print FormatCurrency(-3.5, -1, _
</syntaxhighlight>
      TristateUseDefault, True)
</tabber>
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>


== 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 89: 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