mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-09 22:49:57 +09:00
Merge pull request #1478 from lazylife7157/magnitude_seperator_format
Fix #1476 Magnitude seperator format bug
This commit is contained in:
@@ -18,3 +18,12 @@ def test_zero_padding():
|
||||
assert f'{i:04d}' == '0001'
|
||||
|
||||
test_zero_padding()
|
||||
|
||||
assert '{:,}'.format(100) == '100'
|
||||
assert '{:,}'.format(1024) == '1,024'
|
||||
assert '{:_}'.format(65536) == '65_536'
|
||||
assert '{:_}'.format(4294967296) == '4_294_967_296'
|
||||
assert f'{100:_}' == '100'
|
||||
assert f'{1024:_}' == '1_024'
|
||||
assert f'{65536:,}' == '65,536'
|
||||
assert f'{4294967296:,}' == '4,294,967,296'
|
||||
|
||||
@@ -279,15 +279,12 @@ impl FormatSpec {
|
||||
separator: char,
|
||||
) -> String {
|
||||
let mut result = String::new();
|
||||
let mut remaining: usize = magnitude_string.len() % interval;
|
||||
if remaining == 0 {
|
||||
remaining = interval;
|
||||
}
|
||||
let mut remaining: usize = magnitude_string.len();
|
||||
for c in magnitude_string.chars() {
|
||||
result.push(c);
|
||||
if remaining == 0 {
|
||||
remaining -= 1;
|
||||
if remaining % interval == 0 && remaining > 0 {
|
||||
result.push(separator);
|
||||
remaining = interval;
|
||||
}
|
||||
}
|
||||
result
|
||||
|
||||
Reference in New Issue
Block a user