-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathValue.php
executable file
·61 lines (55 loc) · 1.32 KB
/
Value.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
namespace KateMorley\Grid\UI;
/** Formats values. */
class Value {
/**
* Formats a power value.
*
* @param float $value The value
*/
public static function formatPower(float $value): string {
return self::format($value, 2);
}
/**
* Formats a total power value.
*
* @param float $value The value
*/
public static function formatTotalPower(float $value): string {
return self::format($value, 1);
}
/**
* Formats a percentage.
*
* @param float $value The value, as a fraction
*/
public static function formatPercentage(float $value): string {
return self::format(100 * $value, 1);
}
/**
* Formats a price.
*
* @param float $value The value
*/
public static function formatPrice(float $value): string {
return self::format($value, 2, '£');
}
/**
* Formats a value.
*
* @param float $value, The value
* @param int $decimalPlaces The number of decimal places to show
* @param string $prefix An option prefix
*/
private static function format(
float $value,
int $decimalPlaces,
string $prefix = ''
): string {
return (
($value < 0 ? '−' : '')
. $prefix
. sprintf('%0.' . $decimalPlaces . 'f', abs($value))
);
}
}