FormattingUtil

Description

static class Tinman.Core.Formatting.FormattingUtil

Helper class for dealing with unicode characters.

Public / Methods

Format​Bytes


[Pure]
public static method FormatBytes → (1)

bytes in : int64

The binary size, in bytes.

returns → string

The formatted size string.

Formats the given binary size using up to four decimal digits.

The following units are used:

  • 'b': byte

  • 'kb': kilo-byte (2^10)

  • 'mb': mega-byte (2^20)

  • 'gb': giga-byte (2^30)

  • 'tb': tera-byte (2^40)

  • 'pb': peta-byte (2^50)

  • 'eb': exa-byte (2^60)

Format​Degrees


[Pure]
public static method FormatDegrees → (1)

value in : float64

The angle value, in degrees.

returns → string

The formatted angle value.

Formats an angle value: '123°'

Format​Metric


[Pure]
public static method FormatMetric → (1)

length in : float64

The length, in metres.

returns → string

The formatted length string.

Formats the given metric length in a readable way (e.g. '10.5 cm').

The metric unit is chosen (km, m, cm or mm) so that the resulting string has a minimum number of decimal digits.

Format​Percent


[Pure]
public static method FormatPercent → (1)

value in : float64

The decimal value.

returns → string

The formatted angle in degrees.

Formats a percent value: '100%'

Format​Radians


[Pure]
public static method FormatRadians → (1)

value in : float64

The angle value, in radians.

returns → string

The formatted angle in degrees.

Formats an angle value: '123°'

Format​Readable


[Pure]
public static method FormatReadable → (1)

value in : float64

Some value.

returns → float64

The nicely readable value.

Returns the largest positive nicely readable value that is less than or equal to the given value.

A nicely readable value can be expressed with 10^N*M where N is an integer and M is one of: 1, 2, 5.
For example:
0.1, 0.2, 0.5, 1, 2, 5, 10

Format​Time​Span

2 overloads


[Pure]
public static method FormatTimeSpan1 → (2)

time in : float64

[>=0]
The time span, in milliseconds.

format opt : int32 = 0

[0..5]
The time index format:
0: 1w 1d 1h 1m 1s (leading zero parts are omitted)
1: HH:MM:SS,FFF
2: HH:MM:SS,FF
3: HH:MM:SS,F
4: HH:MM:SS
5: HH:MM

returns → string

The formatted time index string.

Formats the given time span.


[Pure]
public static method FormatTimeSpan2 → (2)

time in : int64

[>=0]
The time span, in milliseconds.

format opt : int32 = 0

[0..5]
The time index format:
0: 1w 1d 1h 1m 1s (leading zero parts are omitted)
1: HH:MM:SS,FFF
2: HH:MM:SS,FF
3: HH:MM:SS,F
4: HH:MM:SS
5: HH:MM

returns → string

The formatted time index string.

Formats the given time span.

Get​Category


[Pure]
public static method GetCategory → (1)

in : char

The character value.

returns → CharacterCategory

The unicode category.

Returns the unicode category of the given character.

Get​Characters

2 overloads


public static method GetCharacters1 → (3)

from in : char

Start of character range (inclusive).

to in : char

End of character range (inclusive).

bag opt : IBag<char> = null

Optional output bag.

returns → IBag<char>

The characters.

Returns all characters in the given range.


public static method GetCharacters2 → (2)

categories in : CharacterCategory

The character categories.

bag opt : IBag<char> = null

Optional output bag.

returns → IBag<char>

The characters.

Returns all characters that belong to the given categories.

Is​Category


[Pure]
public static method IsCategory → (2)

in : char

The character value.

categories in : CharacterCategory

The character categories.

returns → bool

true if in has at least one category given by categories in, false if not.

Checks if the given character belongs to any of the given categories.

Is​Newline


[Pure]
public static method IsNewline → (1)

in : char

The character to check.

returns → bool

true if in is a newline, false if not.

Checks if the given character represents or is part of a line ending (see LineEnding).

Is​Separator​Or​Whitespace​Control


[Pure]
public static method IsSeparatorOrWhitespaceControl → (1)

in : char

The character to check.

returns → bool

true if in is a separator or a whitespace control, false if not.

Checks if the given character is a separator or a whitespace control.

This method will return true only in the following cases:

The string.Trim method of string trims characters only if IsSeparatorOrWhitespaceControl would return true.

Is​Whitespace


[Pure]
public static method IsWhitespace → (1)

in : char

The character to check.

returns → bool

true if in is a whitespace, false if not.

Checks if the given character is a whitespace.

Using this method is equivalent to calling IsCategory with the CharacterCategory.Whitespace flag. However, this method is more efficient.

Newline

2 overloads


public static method Newline1 → (2)

text in : string

The text to normalize.

lineEnding opt : LineEnding = LineEnding.Native

The line ending to use.

returns → string

The normalized text or null if text in was null.

Replaces all newline tokens in text in with the specified newline token.


[Pure]
public static method Newline2 → (1)

lineEnding opt : LineEnding = LineEnding.Native

The line ending.

returns → string

The newline token.

Returns the newline token string.

Text​To​Lines


[Pure]
public static method TextToLines → (2)

text in : string

[not-null]
The text to split.

trim opt : bool = false

Trim text lines?

returns → string [ ]

The array of text lines.

Splits the given text into lines.

To​Line​Ending


public static method ToLineEnding → (2)

text in : string

[not-null]
The input text.

lineEnding opt : LineEnding = LineEnding.Native

The desired line ending type.

returns → string

The normalized text.

Normalizes all line ending tokens in the given text.

Public / Attributes

Native​Line​Ending


public static attribute NativeLineEnding → (get)

value : LineEnding

[not-null]
The newline token.

Returns the newline token of the underlying system.