2 releases

Uses new Rust 2024

new 0.1.2 Mar 21, 2025
0.1.1 Mar 21, 2025

#48 in #site

MulanPSL-2.0

11KB
57 lines

r36

use num_traits::PrimInt;

pub fn e<T: PrimInt>(mut value: T) -> String {
  if value == T::zero() {
    return "0".to_string();
  }

  let radix = T::from(36).unwrap();
  let mut result = String::new();

  while value > T::zero() {
    let remainder = value % radix;
    let digit = remainder.to_u8().unwrap();

    let c = match digit {
      0..=9 => (b'0' + digit) as char,
      10..=35 => (b'A' + (digit - 10)) as char,
      _ => unreachable!(),
    };

    result.push(c);
    value = value / radix;
  }

  // 反转字符串,因为我们是从最低位开始构建的
  result.chars().rev().collect()
}

About

This project is an open-source component of i18n.site ⋅ Internationalization Solution.

关于

本项目为 i18n.site ⋅ 国际化解决方案 的开源组件。

Dependencies

~215–300KB