Skip to content
Ailln edited this page Sep 24, 2020 · 15 revisions

索引

cn2an.cn2an

cn2an.cn2an(inputs=None, mode="strict")

Args:

  • inputs str: 待转化输入数据,最大支持千万亿
  • mode enum:str: 数据转化的模式。
    1. strict: 严格模式;
    2. normal: 正常模式;
    3. smart: 智能模式。

Returns:

  • output int|float : 转化后的输出数据。

Raises:

  • ValueError: 当数据不在规定的模式范围内时,抛出异常。

Examples:

import cn2an

# 在 strict 模式(默认)下,只有严格符合数字拼写的才可以进行转化
output = cn2an.cn2an("一百二十三")
# 或者
output = cn2an.cn2an("一百二十三", "strict")
# output:
# 123

# 在 normal 模式下,还可以将 一二三 进行转化
output = cn2an.cn2an("一二三", "normal")
# output:
# 123

# 在 smart 模式下,还可以将混合拼写的 1百23 进行转化
output = cn2an.cn2an("1百23", "smart")
# output:
# 123

# 以上三种模式均支持负数
output = cn2an.cn2an("负一百二十三")
# output:
# -123

# 以上三种模式均支持小数
output = cn2an.cn2an("一点二三")
# output:
# 1.23

cn2an.an2cn

cn2an.an2cn(inputs=None, mode="low")

Args:

  • inputs int|float|str: 待转化输入数据,最大支持到10**16,即千万亿,最小支持到10**-16
  • mode enum:str: 数据转化的模式。
    1. low: 小写模式;
    2. up: 大写模式;
    3. rmb: 人民币模式。

Returns:

  • output str : 转化后的输出数据。

Raises:

  • ValueError: 当数据不在规定的模式范围内时,抛出异常。

Examples:

import cn2an

# 在 low 模式(默认)下,数字转化为小写的中文数字
output = cn2an.an2cn("123")
# 或者
output = cn2an.an2cn("123", "low")
# output:
# 一百二十三

# 在 up 模式下,数字转化为大写的中文数字
output = cn2an.an2cn("123", "up")
# output:
# 壹佰贰拾叁

# 在 rmb 模式下,数字转化为人民币专用的描述
output = cn2an.an2cn("123", "rmb")
# output:
# 壹佰贰拾叁元整

# 以上三种模式均支持负数
output = cn2an.an2cn("-123")
# output:
# 负一百二十三

# 以上三种模式均支持小数
output = cn2an.an2cn("1.23")
# output:
# 一点二三

cn2an.transform

cn2an.transform(inputs=None, method="cn2an")

Args:

  • inputs str: 待转化句子。
  • method enum:str: 数据转化的模式。
    1. cn2an: 中文数字阿拉伯数字
    2. an2cn: 阿拉伯数字中文数字

Returns:

  • output str : 转化后的输出数据。

Raises:

  • ValueError: 当数据不在规定的模式范围内时,抛出异常。

Examples:

import cn2an

output = cn2an.transform("我捡了一百块钱")
# 或者
output = cn2an.transform("我捡了一百块钱", "cn2an")
# output:
# 我捡了100块钱

output = cn2an.transform("我捡了100块钱", "an2cn")
# output:
# 我捡了一百块钱


## 支持日期
output = cn2an.transform("我的生日是二零零一年三月四日")
# 或者
output = cn2an.transform("我的生日是二零零一年三月四日", "cn2an")
# output:
# 我的生日是2001年3月4日

output = cn2an.transform("我的生日是2001年3月4日", "an2cn")
# output:
# 我的生日是二零零一年三月四日


## 支持百分数
output = cn2an.transform("今天股价上涨了百分之八")
# 或者
output = cn2an.transform("今天股价上涨了百分之八", "cn2an")
# output:
# 今天股价上涨了8%

output = cn2an.transform("今天股价上涨了8%", "an2cn")
# output:
# 今天股价上涨了百分之八

HTTP API

Java

import java.net.URL;
import java.net.HttpURLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class HttpGetExample {
    public static void main(String[] args) throws Exception {
        HttpGetExample http = new HttpGetExample();
  
        String url = "https://api.dovolopor.com/v1/cn2an";
        String params = "?text=123&function=an2cn&method=low";
        http.get(url + params);
    }

    private void get(String url) throws Exception {
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        con.setRequestMethod("GET");
        con.setRequestProperty("User-Agent", "Mozilla/5.0");

        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        System.out.println(response.toString());
    }
}
// { output: "一百二十三", msg: "转化成功" }

Javascript

const axios = require("axios")

axios.get("https://api.dovolopor.com/v1/cn2an", {
  params: {
    text: "123",
    function: "an2cn",
    method: "low"
  }
}).then(
  function (res) {
    console.log(res.data);
  }
)
// { output: "一百二十三", msg: "转化成功" }

Go

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

func main(){
    params := url.Values{}
    Url, err := url.Parse("https://api.dovolopor.com/v1/cn2an")
    if err != nil {
        return
    }
    params.Set("text", "123")
    params.Set("function", "an2cn")
    params.Set("method", "low")

    Url.RawQuery = params.Encode()
    urlPath := Url.String()
    resp,err := http.Get(urlPath)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
// { output: "一百二十三", msg: "转化成功" }

Julia

using Pkg
Pkg.add("HTTP")

url = "https://api.dovolopor.com/v1/cn2an"
params = HTTP.URIs.escapeuri(["text"=>"123","function"=>"an2cn","method"=>"low"])

r = HTTP.get(url * "?" * params, ["Content-Type"=>"application/json"])
print(String(r.body))
# { output: "一百二十三", msg: "转化成功" }

Python

import requests

response = requests.get("https://api.dovolopor.com/v1/cn2an",
  params={
    "text": "1234567890",
    "function": "an2cn",
    "method": "low"
  }
)
print(response.json())
# { output: "一百二十三", msg: "转化成功" }