6
6
bcmath.scale=0
7
7
--FILE--
8
8
<?php
9
- $ dividend_cases = ['0.012345 ' , '0.12345 ' , '1.2345 ' , '12.345 ' , '123.45 ' ];
9
+ $ dividend_cases = ['0.012345 ' , '0.12345 ' , '1.2345 ' , '12.345 ' , '123.45 ' , ' -0.012345 ' , ' -0.12345 ' , ' -1.2345 ' , ' -12.345 ' , ' -123.45 ' ];
10
10
$ divisor_cases = ['0.01 ' , '0.1 ' , '1 ' , '10 ' , '100 ' ];
11
11
$ scale_cases = [0 , 3 , 5 ];
12
12
13
13
foreach ($ scale_cases as $ scale ) {
14
14
echo "scale: {$ scale }\n" ;
15
15
foreach ($ divisor_cases as $ divisor ) {
16
16
foreach ($ dividend_cases as $ dividend ) {
17
- $ dividend_label = str_pad ($ dividend , 8 , ' ' , STR_PAD_LEFT );
17
+ $ dividend_label = str_pad ($ dividend , 9 , ' ' , STR_PAD_LEFT );
18
18
$ divisor_label = str_pad ($ divisor , 4 , ' ' , STR_PAD_LEFT );
19
19
$ quot = bcdiv ($ dividend , $ divisor , $ scale );
20
- $ quot_label = str_pad ($ quot , $ scale + 5 + ($ scale ? 1 : 0 ), ' ' , STR_PAD_LEFT );
20
+ $ quot_label = str_pad ($ quot , $ scale + 6 + ($ scale ? 1 : 0 ), ' ' , STR_PAD_LEFT );
21
21
echo $ dividend_label , ' / ' , $ divisor_label , ' = ' , $ quot_label , "\n" ;
22
22
}
23
23
}
@@ -26,82 +26,157 @@ foreach ($scale_cases as $scale) {
26
26
?>
27
27
--EXPECT--
28
28
scale: 0
29
- 0.012345 / 0.01 = 1
30
- 0.12345 / 0.01 = 12
31
- 1.2345 / 0.01 = 123
32
- 12.345 / 0.01 = 1234
33
- 123.45 / 0.01 = 12345
34
- 0.012345 / 0.1 = 0
35
- 0.12345 / 0.1 = 1
36
- 1.2345 / 0.1 = 12
37
- 12.345 / 0.1 = 123
38
- 123.45 / 0.1 = 1234
39
- 0.012345 / 1 = 0
40
- 0.12345 / 1 = 0
41
- 1.2345 / 1 = 1
42
- 12.345 / 1 = 12
43
- 123.45 / 1 = 123
44
- 0.012345 / 10 = 0
45
- 0.12345 / 10 = 0
46
- 1.2345 / 10 = 0
47
- 12.345 / 10 = 1
48
- 123.45 / 10 = 12
49
- 0.012345 / 100 = 0
50
- 0.12345 / 100 = 0
51
- 1.2345 / 100 = 0
52
- 12.345 / 100 = 0
53
- 123.45 / 100 = 1
29
+ 0.012345 / 0.01 = 1
30
+ 0.12345 / 0.01 = 12
31
+ 1.2345 / 0.01 = 123
32
+ 12.345 / 0.01 = 1234
33
+ 123.45 / 0.01 = 12345
34
+ -0.012345 / 0.01 = -1
35
+ -0.12345 / 0.01 = -12
36
+ -1.2345 / 0.01 = -123
37
+ -12.345 / 0.01 = -1234
38
+ -123.45 / 0.01 = -12345
39
+ 0.012345 / 0.1 = 0
40
+ 0.12345 / 0.1 = 1
41
+ 1.2345 / 0.1 = 12
42
+ 12.345 / 0.1 = 123
43
+ 123.45 / 0.1 = 1234
44
+ -0.012345 / 0.1 = 0
45
+ -0.12345 / 0.1 = -1
46
+ -1.2345 / 0.1 = -12
47
+ -12.345 / 0.1 = -123
48
+ -123.45 / 0.1 = -1234
49
+ 0.012345 / 1 = 0
50
+ 0.12345 / 1 = 0
51
+ 1.2345 / 1 = 1
52
+ 12.345 / 1 = 12
53
+ 123.45 / 1 = 123
54
+ -0.012345 / 1 = 0
55
+ -0.12345 / 1 = 0
56
+ -1.2345 / 1 = -1
57
+ -12.345 / 1 = -12
58
+ -123.45 / 1 = -123
59
+ 0.012345 / 10 = 0
60
+ 0.12345 / 10 = 0
61
+ 1.2345 / 10 = 0
62
+ 12.345 / 10 = 1
63
+ 123.45 / 10 = 12
64
+ -0.012345 / 10 = 0
65
+ -0.12345 / 10 = 0
66
+ -1.2345 / 10 = 0
67
+ -12.345 / 10 = -1
68
+ -123.45 / 10 = -12
69
+ 0.012345 / 100 = 0
70
+ 0.12345 / 100 = 0
71
+ 1.2345 / 100 = 0
72
+ 12.345 / 100 = 0
73
+ 123.45 / 100 = 1
74
+ -0.012345 / 100 = 0
75
+ -0.12345 / 100 = 0
76
+ -1.2345 / 100 = 0
77
+ -12.345 / 100 = 0
78
+ -123.45 / 100 = -1
54
79
55
80
scale: 3
56
- 0.012345 / 0.01 = 1.234
57
- 0.12345 / 0.01 = 12.345
58
- 1.2345 / 0.01 = 123.450
59
- 12.345 / 0.01 = 1234.500
60
- 123.45 / 0.01 = 12345.000
61
- 0.012345 / 0.1 = 0.123
62
- 0.12345 / 0.1 = 1.234
63
- 1.2345 / 0.1 = 12.345
64
- 12.345 / 0.1 = 123.450
65
- 123.45 / 0.1 = 1234.500
66
- 0.012345 / 1 = 0.012
67
- 0.12345 / 1 = 0.123
68
- 1.2345 / 1 = 1.234
69
- 12.345 / 1 = 12.345
70
- 123.45 / 1 = 123.450
71
- 0.012345 / 10 = 0.001
72
- 0.12345 / 10 = 0.012
73
- 1.2345 / 10 = 0.123
74
- 12.345 / 10 = 1.234
75
- 123.45 / 10 = 12.345
76
- 0.012345 / 100 = 0.000
77
- 0.12345 / 100 = 0.001
78
- 1.2345 / 100 = 0.012
79
- 12.345 / 100 = 0.123
80
- 123.45 / 100 = 1.234
81
+ 0.012345 / 0.01 = 1.234
82
+ 0.12345 / 0.01 = 12.345
83
+ 1.2345 / 0.01 = 123.450
84
+ 12.345 / 0.01 = 1234.500
85
+ 123.45 / 0.01 = 12345.000
86
+ -0.012345 / 0.01 = -1.234
87
+ -0.12345 / 0.01 = -12.345
88
+ -1.2345 / 0.01 = -123.450
89
+ -12.345 / 0.01 = -1234.500
90
+ -123.45 / 0.01 = -12345.000
91
+ 0.012345 / 0.1 = 0.123
92
+ 0.12345 / 0.1 = 1.234
93
+ 1.2345 / 0.1 = 12.345
94
+ 12.345 / 0.1 = 123.450
95
+ 123.45 / 0.1 = 1234.500
96
+ -0.012345 / 0.1 = -0.123
97
+ -0.12345 / 0.1 = -1.234
98
+ -1.2345 / 0.1 = -12.345
99
+ -12.345 / 0.1 = -123.450
100
+ -123.45 / 0.1 = -1234.500
101
+ 0.012345 / 1 = 0.012
102
+ 0.12345 / 1 = 0.123
103
+ 1.2345 / 1 = 1.234
104
+ 12.345 / 1 = 12.345
105
+ 123.45 / 1 = 123.450
106
+ -0.012345 / 1 = -0.012
107
+ -0.12345 / 1 = -0.123
108
+ -1.2345 / 1 = -1.234
109
+ -12.345 / 1 = -12.345
110
+ -123.45 / 1 = -123.450
111
+ 0.012345 / 10 = 0.001
112
+ 0.12345 / 10 = 0.012
113
+ 1.2345 / 10 = 0.123
114
+ 12.345 / 10 = 1.234
115
+ 123.45 / 10 = 12.345
116
+ -0.012345 / 10 = -0.001
117
+ -0.12345 / 10 = -0.012
118
+ -1.2345 / 10 = -0.123
119
+ -12.345 / 10 = -1.234
120
+ -123.45 / 10 = -12.345
121
+ 0.012345 / 100 = 0.000
122
+ 0.12345 / 100 = 0.001
123
+ 1.2345 / 100 = 0.012
124
+ 12.345 / 100 = 0.123
125
+ 123.45 / 100 = 1.234
126
+ -0.012345 / 100 = 0.000
127
+ -0.12345 / 100 = -0.001
128
+ -1.2345 / 100 = -0.012
129
+ -12.345 / 100 = -0.123
130
+ -123.45 / 100 = -1.234
81
131
82
132
scale: 5
83
- 0.012345 / 0.01 = 1.23450
84
- 0.12345 / 0.01 = 12.34500
85
- 1.2345 / 0.01 = 123.45000
86
- 12.345 / 0.01 = 1234.50000
87
- 123.45 / 0.01 = 12345.00000
88
- 0.012345 / 0.1 = 0.12345
89
- 0.12345 / 0.1 = 1.23450
90
- 1.2345 / 0.1 = 12.34500
91
- 12.345 / 0.1 = 123.45000
92
- 123.45 / 0.1 = 1234.50000
93
- 0.012345 / 1 = 0.01234
94
- 0.12345 / 1 = 0.12345
95
- 1.2345 / 1 = 1.23450
96
- 12.345 / 1 = 12.34500
97
- 123.45 / 1 = 123.45000
98
- 0.012345 / 10 = 0.00123
99
- 0.12345 / 10 = 0.01234
100
- 1.2345 / 10 = 0.12345
101
- 12.345 / 10 = 1.23450
102
- 123.45 / 10 = 12.34500
103
- 0.012345 / 100 = 0.00012
104
- 0.12345 / 100 = 0.00123
105
- 1.2345 / 100 = 0.01234
106
- 12.345 / 100 = 0.12345
107
- 123.45 / 100 = 1.23450
133
+ 0.012345 / 0.01 = 1.23450
134
+ 0.12345 / 0.01 = 12.34500
135
+ 1.2345 / 0.01 = 123.45000
136
+ 12.345 / 0.01 = 1234.50000
137
+ 123.45 / 0.01 = 12345.00000
138
+ -0.012345 / 0.01 = -1.23450
139
+ -0.12345 / 0.01 = -12.34500
140
+ -1.2345 / 0.01 = -123.45000
141
+ -12.345 / 0.01 = -1234.50000
142
+ -123.45 / 0.01 = -12345.00000
143
+ 0.012345 / 0.1 = 0.12345
144
+ 0.12345 / 0.1 = 1.23450
145
+ 1.2345 / 0.1 = 12.34500
146
+ 12.345 / 0.1 = 123.45000
147
+ 123.45 / 0.1 = 1234.50000
148
+ -0.012345 / 0.1 = -0.12345
149
+ -0.12345 / 0.1 = -1.23450
150
+ -1.2345 / 0.1 = -12.34500
151
+ -12.345 / 0.1 = -123.45000
152
+ -123.45 / 0.1 = -1234.50000
153
+ 0.012345 / 1 = 0.01234
154
+ 0.12345 / 1 = 0.12345
155
+ 1.2345 / 1 = 1.23450
156
+ 12.345 / 1 = 12.34500
157
+ 123.45 / 1 = 123.45000
158
+ -0.012345 / 1 = -0.01234
159
+ -0.12345 / 1 = -0.12345
160
+ -1.2345 / 1 = -1.23450
161
+ -12.345 / 1 = -12.34500
162
+ -123.45 / 1 = -123.45000
163
+ 0.012345 / 10 = 0.00123
164
+ 0.12345 / 10 = 0.01234
165
+ 1.2345 / 10 = 0.12345
166
+ 12.345 / 10 = 1.23450
167
+ 123.45 / 10 = 12.34500
168
+ -0.012345 / 10 = -0.00123
169
+ -0.12345 / 10 = -0.01234
170
+ -1.2345 / 10 = -0.12345
171
+ -12.345 / 10 = -1.23450
172
+ -123.45 / 10 = -12.34500
173
+ 0.012345 / 100 = 0.00012
174
+ 0.12345 / 100 = 0.00123
175
+ 1.2345 / 100 = 0.01234
176
+ 12.345 / 100 = 0.12345
177
+ 123.45 / 100 = 1.23450
178
+ -0.012345 / 100 = -0.00012
179
+ -0.12345 / 100 = -0.00123
180
+ -1.2345 / 100 = -0.01234
181
+ -12.345 / 100 = -0.12345
182
+ -123.45 / 100 = -1.23450
0 commit comments