Name
SPVM::Format - Format Utilities
Usage
use Format;
# Foo 123 abc 1.115 Bar
my $result = Format->sprintf("Foo %d %s %.3f Bar", [(object)123, "abc", 1.115]);
# %d - "123"
my $result = Format->sprintf("%d", [(object)123]);
# %5d - " 123"
my $result = Format->sprintf("%5d", [(object)123]);
# %05d - "00123"
my $result = Format->sprintf("%05d", [(object)123]);
# %+d - "+123"
my $result = Format->sprintf("%+d", [(object)123]);
# %-5d - "123 "
my $result = Format->sprintf("%-5d", [(object)123]);
# %d - "x"
my $result = Format->sprintf("%c", [(object)'x']);
# %c - "あ"
my $result = Format->sprintf("%c", [(object)Fn->ord("あ")]);
# %s - "ABC"
my $result = Format->sprintf("%s", [(object)"ABC"]);
# %.2s - "AB"
my $result = Format->sprintf("%.2s", [(object)"ABC"]);
# %u - "4294967295"
my $result = Format->sprintf("%u", [(object)-1]);
# %f - "3.141500"
my $result = Format->sprintf("%f", [(object)3.1415]);
# %.2f - "3.14"
my $result = Format->sprintf("%.2f", [(object)3.1415]);
# %g - "3.14"
my $result = Format->sprintf("%g", [(object)3.14]);
# %x - "ff"
my $result = Format->sprintf("%x", [(object)255]);
# %x - "ffffffff"
my $result = Format->sprintf("%x", [(object)-1]);
# %p - "0x8000000000000000"
my $result = Format->sprintf("%p", [(object)$object]);
Description
Format is a formatting utilities for sprintf method.
Class Methods
sprintf
static method sprintf : string ($format : string, $args : object[]);
Creates a formatted string form the $format and the $args.
Specifiers
| Specifiers | Descriptions | Acceptable Types |
|---|---|---|
| %c | An UTF-8 character | Byte, Int |
| %d | Signed 32-bit integer | Int |
| %f | 64bit floating point | Double, Float |
| %g | 64bit floating point | Double, Float |
| %x | Unsiged 32-bit integer represented by hexadecima characters 0-9a-z | Int |
| %X | Unsiged 32-bit integer represented by hexadecima characters 0-9A-Z | Int |
| %lX | Unsiged 64-bit integer represented by hexadecima characters 0-9A-Z | Long |
| %ld | Signed 64bit integer | Long |
| %lu | Unsigned 64bit integer | Long |
| %lx | Unsiged 64-bit integer represented by hexadecima characters 0-9a-z | Long |
| %s | String | String Type |
| %p | Address | Object Type |
| %u | Unsigned 32-bit integer | Int |
Specifier Options
Specifier options can be written between % and the character of specifier such as d, f.
| Specifier Options | Descriptions |
|---|---|
| 0[DECIMAL_NUMBERS] | Zero padding |
| + | Adding a plus sign |
| - | Left justified |
| .[DECIMAL_NUMBERS] | Precision(Maximam width in %s) |
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License