ワンクリックで
cangjie-std-format
仓颉标准库 std.convert 格式化字串方法。当需要将数值类型格式化为指定格式的字符串(如指定宽度、对齐、精度、进制显示等),应使用此 Skill。涉及 Formattable 接口。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
仓颉标准库 std.convert 格式化字串方法。当需要将数值类型格式化为指定格式的字符串(如指定宽度、对齐、精度、进制显示等),应使用此 Skill。涉及 Formattable 接口。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | cangjie-std-format |
| description | 仓颉标准库 std.convert 格式化字串方法。当需要将数值类型格式化为指定格式的字符串(如指定宽度、对齐、精度、进制显示等),应使用此 Skill。涉及 Formattable 接口。 |
导入:
import std.convert.*
public interface Formattable {
func format(fmt: String): String
}
Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Float16, Float32, Float64, Rune
format_spec := [flags][width][.precision][specifier]
| 标志 | 适用类型 | 说明 |
|---|---|---|
- | Int/UInt/Float/Rune | 左对齐 |
+ | Int/UInt/Float | 正数显示 + 号 |
# | Int/UInt | 进制前缀(0b/0o/0x) |
0 | Int/UInt/Float | 空位补零 |
正整数,不足补空格(默认右对齐),不会截断。
0| 说明符 | 适用类型 | 说明 |
|---|---|---|
b/B | Int/UInt | 二进制 |
o/O | Int/UInt | 八进制 |
x/X | Int/UInt | 十六进制(小写/大写) |
e/E | Float | 科学计数法 |
g/G | Float | 自动选择十进制或科学计数法 |
import std.convert.*
main() {
var a: Int32 = 20
// 进制转换
println(a.format("b")) // "10100"(二进制)
println(a.format("o")) // "24"(八进制)
println(a.format("x")) // "14"(十六进制)
println(a.format("#X")) // "0X14"(带前缀大写十六进制)
// 宽度与对齐
println("\"${a.format("10")}\"") // " 20"(右对齐,宽度10)
println("\"${a.format("-10")}\"") // "20 "(左对齐)
// 正号与补零
println("\"${a.format("+10")}\"") // " +20"
println("\"${a.format("010")}\"") // "0000000020"
// 精度(整数前补零)
println("\"${a.format(".8")}\"") // "00000020"
}
import std.convert.*
main() {
var f: Float64 = 1234.5
// 默认 6 位小数
println(f.format("")) // "1234.500000"
// 指定精度
println(f.format(".2")) // "1234.50"
// 宽度 + 精度
println("\"${f.format("15.2")}\"") // " 1234.50"
// 科学计数法
println(f.format(".2e")) // "1.23e+03"
println(f.format("G")) // "1234.5"(G 自动选择精简表示)
// 补零
println("\"${f.format("012.2")}\"") // "0000001234.50"
}
import std.convert.*
main() {
var c: Rune = 'A'
println("\"${c.format("5")}\"") // " A"(右对齐)
println("\"${c.format("-5")}\"") // "A "(左对齐)
}
import std.convert.*
class Point <: Formattable {
var x: Float64
var y: Float64
init(x: Float64, y: Float64) {
this.x = x
this.y = y
}
public func format(fmt: String): String {
"(${x.format(fmt)}, ${y.format(fmt)})"
}
}
main() {
let p = Point(3.14159, 2.71828)
println(p.format(".2")) // "(3.14, 2.72)"
}
import std.convert.*
main() {
// 1. 十六进制地址显示
let addr: UInt64 = 48879
println("0x${addr.format("08X")}") // "0x0000BEEF"
// 2. 表格对齐输出
let items = [("Apple", 3), ("Banana", 12), ("Cherry", 150)]
for ((name, count) in items) {
let countStr = count.format("-6")
println("${name}: ${countStr}")
}
// 3. 浮点精度控制
let pi: Float64 = 3.14159265358979
println("pi ≈ ${pi.format(".4")}") // "pi ≈ 3.1416"
// 4. 二进制位查看
let flags: Int32 = 0xAB
println(flags.format("#010b")) // "0b10101011"
}
当需要构建鸿蒙应用项目时,使用此 Skill 执行构建流程。此 Skill 包含完整的构建命令、构建流程说明、构建失败处理流程。构建脚本会自动执行依赖安装、仓颉预编译、资源生成、编译、打包等步骤。
在鸿蒙应用(Cangjie)开发中,当需要使用 stdx 拓展库(如 crypto、encoding、net、log、actors 等),或在构建/链接阶段出现 stdx 相关错误时,使用此 Skill 获取/解压 stdx 包,并指导在 entry/cjpm.toml 中正确配置 bin-dependencies.path-option。
在进行仓颉工程或鸿蒙应用开发时的第一步,应该优先读取该SKILL,用来确定后续的开发步骤。
仓颉语言内置注解。当需要了解仓颉 SDK 提供的内置注解(@sourcePackage/@sourceFile/@sourceLine/@When/@FastNative/@Frozen/@Attribute/@Deprecated)的用途、语法和最优实践时,应使用此 Skill。
仓颉语言附录参考。当需要查阅仓颉语言的关键字列表、运算符优先级与结合性、运算符重载函数签名、运行时环境变量配置、包兼容性规则、TokenKind枚举类型时,应使用此 Skill。
仓颉标准库 Array 类型详细指南。当需要了解 Array 的构造、元素访问、切片、拼接、查找、排序、拷贝、反转、映射、扁平化等操作的完整 API 和用法时,应使用此 Skill。