Closed adsian closed 2 years ago
因为后面的map你没改
因为后面的map你没改
改了, 我是想问一下, main.go里, fmt.Scan(&num)是获取不到zh.Uint64, 还有中文转数字, fmt.Sscan("三百八十六万七千三百五十一", &num)这个也是用不了, func (num *Uint64) Scan(state fmt.ScanState, verb rune) 是怎么运行的
用不了是什么意思,例子都运行不了吗
是啊, 你试一试 main.go
package main
import (
"fmt"
"github.com/Tnze/go.num/v2/zh"
)
func main() {
// 中文转数字
var num zh.Uint64
_, err := fmt.Sscan("三百八十六万七千三百五十一", &num)
if err != nil {
panic(err)
}
fmt.Println(uint64(num))
// Output: 3867351
}
输出:
> go run .\main.go
3867351
package main
import (
"fmt"
"github.com/Tnze/go.num/v2/zh"
)
func main() {
// 中文转数字
var num1, num2, num3 zh.Uint64
_, err := fmt.Sscan("三十四 六十八 二亿九千九百七十九万二千四百五十八", &num1, &num2, &num3)
if err != nil {
panic(err)
}
fmt.Println(uint64(num1), uint64(num2), uint64(num3))
}
Output:
34 68 299792458
Playground: https://go.dev/play/p/AoH1azGBjfc
不知道你是哪里遇到有问题
加上了, 不过Scan貌似是有问题的, 先用着吧...