(&self, writer: &mut String, value: u64)
| 1936 | } |
| 1937 | |
| 1938 | fn format_unsigned(&self, writer: &mut String, value: u64) -> Result<()> { |
| 1939 | let mut s = String::new(); |
| 1940 | let mut alt_prefix = ""; |
| 1941 | match self.conversion_type { |
| 1942 | ConversionType::DecInt => { |
| 1943 | let num_str = format!("{value}"); |
| 1944 | s = if self.grouping_separator { |
| 1945 | insert_thousands_separator(&num_str) |
| 1946 | } else { |
| 1947 | num_str |
| 1948 | }; |
| 1949 | } |
| 1950 | ConversionType::HexIntLower => { |
| 1951 | alt_prefix = "0x"; |
| 1952 | write!(&mut s, "{value:x}") |
| 1953 | .map_err(|e| exec_datafusion_err!("Write error: {}", e))?; |
| 1954 | } |
| 1955 | ConversionType::HexIntUpper => { |
| 1956 | alt_prefix = "0X"; |
| 1957 | write!(&mut s, "{value:X}") |
| 1958 | .map_err(|e| exec_datafusion_err!("Write error: {}", e))?; |
| 1959 | } |
| 1960 | ConversionType::OctInt => { |
| 1961 | alt_prefix = "0"; |
| 1962 | write!(&mut s, "{value:o}") |
| 1963 | .map_err(|e| exec_datafusion_err!("Write error: {}", e))?; |
| 1964 | } |
| 1965 | _ => { |
| 1966 | return exec_err!( |
| 1967 | "Invalid conversion type: {:?} for u64", |
| 1968 | self.conversion_type |
| 1969 | ); |
| 1970 | } |
| 1971 | } |
| 1972 | let mut prefix = if self.alt_form { |
| 1973 | alt_prefix.to_owned() |
| 1974 | } else { |
| 1975 | String::new() |
| 1976 | }; |
| 1977 | |
| 1978 | let formatted = if let NumericParam::Literal(width) = self.width { |
| 1979 | if self.left_adj { |
| 1980 | let mut num_str = prefix + &s; |
| 1981 | while num_str.len() < width as usize { |
| 1982 | num_str.push(' '); |
| 1983 | } |
| 1984 | num_str |
| 1985 | } else if self.zero_pad { |
| 1986 | while prefix.len() + s.len() < width as usize { |
| 1987 | prefix.push('0'); |
| 1988 | } |
| 1989 | prefix + &s |
| 1990 | } else { |
| 1991 | let mut num_str = prefix + &s; |
| 1992 | while num_str.len() < width as usize { |
| 1993 | num_str = " ".to_owned() + &num_str; |
| 1994 | } |
| 1995 | num_str |
no test coverage detected