这是一个用 Moonbit 编写的类型转换库,提供了将字符串转换为整数、浮点数和布尔值等功能。
moon update
moon add amor2025/convert
fn init {
let int_val = Convert::string_to_int("123")
println(int_val) // Some(123)
let double_val = Convert::string_to_double("123.45")
println(double_val) // Some(123.45)
let bool_val = Convert::string_to_bool("true")
println(bool_val) // Some(true)
}Convert::string_to_int("123") // Some(123)
Convert::string_to_int("-123") // Some(-123)
Convert::string_to_int("123a") // NoneConvert::string_to_int_truncate("123.45") // Some(123)
Convert::string_to_int_truncate("-123.99") // Some(-123)Convert::string_to_double("123.45") // Some(123.45)
Convert::string_to_double("1.23e4") // Some(12300.0)Convert::string_to_bool("true") // Some(true)
Convert::string_to_bool("FALSE") // Some(false)
Convert::string_to_bool("other") // NoneConvert::int_to_string(123) // "123"
Convert::int_to_string(-456) // "-456"Convert::double_to_string(123.45) // "123.45"
Convert::double_to_string(-67.89) // "-67.89"Convert::bool_to_string(true) // "true"
Convert::bool_to_string(false) // "false"Convert::int_to_double(123) // 123.0
Convert::int_to_double(-456) // -456.0Convert::double_to_int(123.45) // 123
Convert::double_to_int(-67.89) // -67Convert::double_to_int_round(123.5) // 124
Convert::double_to_int_round(-67.5) // -68Convert::char_to_int('A') // 65
Convert::char_to_int('0') // 48Convert::int_to_char(65) // Some('A')
Convert::int_to_char(48) // Some('0')
Convert::int_to_char(128) // NoneConvert::string_to_chars("Hello") // ['H', 'e', 'l', 'l', 'o']Convert::chars_to_string(['H', 'e', 'l', 'l', 'o']) // "Hello"Convert::int_to_hex(255) // "FF"
Convert::int_to_hex(16) // "10"
Convert::int_to_hex(-255) // "-FF"Convert::hex_to_int("FF") // Some(255)
Convert::hex_to_int("0xFF") // Some(255)
Convert::hex_to_int("abc") // Some(2748)
Convert::hex_to_int("XYZ") // NoneConvert::int_to_binary(8) // "1000"
Convert::int_to_binary(15) // "1111"
Convert::int_to_binary(-8) // "-1000"Convert::binary_to_int("1000") // Some(8)
Convert::binary_to_int("0b1111") // Some(15)
Convert::binary_to_int("102") // None// 基本整数
let result1 = Convert::to_chinese_currency(100.0) // "壹佰元整"
let result2 = Convert::to_chinese_currency(1000.0) // "壹仟元整"
// 带小数
let result3 = Convert::to_chinese_currency(123.45) // "壹佰贰拾叁元肆角伍分"
let result4 = Convert::to_chinese_currency(0.05) // "伍分"
let result5 = Convert::to_chinese_currency(10.50) // "壹拾元伍角"
// 复杂小数(5位小数)
let result6 = Convert::to_chinese_currency(123.45678) // "壹佰贰拾叁元肆角伍分陆厘柒毫捌丝"
let result7 = Convert::to_chinese_currency(0.12345) // "壹角贰分叁厘肆毫伍丝"
// 大数
let result8 = Convert::to_chinese_currency(12345.0) // "壹万贰仟叁佰肆拾伍元整"
let result9 = Convert::to_chinese_currency(100000000.0) // "壹亿元整"
// 负数
let result10 = Convert::to_chinese_currency(-100.0) // "负壹佰元整"
let result11 = Convert::to_chinese_currency(-123.45) // "负壹佰贰拾叁元肆角伍分"Convert::to_chinese_digital(123) // "一百二十三"
Convert::to_chinese_digital(1001) // "一千零一"
Convert::to_chinese_digital(-456) // "负四百五十六"Convert::to_chinese_digital_full(134.45) // "一百三十四点四五"
Convert::to_chinese_digital_full(0.05) // "零点零五"
Convert::to_chinese_digital_full(-123.4) // "负一百二十三点四"fn str_to_bool(str : String) -> Bool?inspect(@amor2025/convert.str_to_bool("true"), content="Some(true)")
inspect(@amor2025/convert.str_to_bool("false"), content="Some(false)")
inspect(@amor2025/convert.str_to_bool(" TRUE "), content="Some(true)")
inspect(@amor2025/convert.str_to_bool("False"), content="Some(false)")
inspect(@amor2025/convert.str_to_bool("yes"), content="None")
inspect(@amor2025/convert.str_to_bool("1"), content="None")fn str_to_double(str : String) -> Double?inspect(@amor2025/convert.str_to_double("3.14"), content="Some(3.14)")
inspect(@amor2025/convert.str_to_double("42"), content="Some(42)")
inspect(@amor2025/convert.str_to_double(" -2.5 "), content="Some(-2.5)")
inspect(@amor2025/convert.str_to_double("1.23e-4"), content="Some(0.00012299999999999998)")
inspect(@amor2025/convert.str_to_double("abc"), content="None")
inspect(@amor2025/convert.str_to_double(""), content="None")fn str_to_int(str : String) -> Int?inspect(@amor2025/convert.str_to_int("42"), content="Some(42)")
inspect(@amor2025/convert.str_to_int("-123"), content="Some(-123)")
inspect(@amor2025/convert.str_to_int(" 456 "), content="Some(456)")
inspect(@amor2025/convert.str_to_int("0"), content="Some(0)")
inspect(@amor2025/convert.str_to_int("abc"), content="None")
inspect(@amor2025/convert.str_to_int(""), content="None")
inspect(@amor2025/convert.str_to_int("12.34"), content="None")fn str_to_int_truncate(str : String) -> Int?inspect(@amor2025/convert.str_to_int_truncate("42"), content="Some(42)")
inspect(@amor2025/convert.str_to_int_truncate("-123"), content="Some(-123)")
inspect(@amor2025/convert.str_to_int_truncate(" 456 "), content="Some(456)")
inspect(@amor2025/convert.str_to_int_truncate("12.34"), content="Some(12)")
inspect(@amor2025/convert.str_to_int_truncate("-5.89"), content="Some(-5)")
inspect(@amor2025/convert.str_to_int_truncate("0.999"), content="Some(0)")
inspect(@amor2025/convert.str_to_int_truncate("abc"), content="None")
inspect(@amor2025/convert.str_to_int_truncate(""), content="None")Install
Download zip这是一个用 Moonbit 编写的类型转换库,提供了将字符串转换为整数、浮点数和布尔值等功能。